Files
garandos/cheatsheets/hyprland-customization-guide.md
2025-09-13 23:16:22 +02:00

164 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# A Guide to Customizing Hyprland in ZaneyOS
This guide provides a practical overview for customizing your Hyprland experience in ZaneyOS. Well cover the most relevant files, what they do, and small, safe edits you can make.
Note: These files are written in Nix. A small syntax error can break builds. Make one change at a time and keep your edits under version control.
## Applying your changes
Preferred (ZaneyOS-specific):
- `zcli rebuild`
- Note: The `fr` alias is deprecated.
Manual backup method (works anywhere):
- From the repo root, replace PROFILE with your profile (intel, nvidia, nvidia-laptop, vm):
- `sudo nixos-rebuild switch --flake .#PROFILE`
---
### `binds.nix` — Keybindings
Controls keyboard and mouse shortcuts.
Location: `modules/home/hyprland/binds.nix`
Format: `MODIFIER, KEY, DISPATCHER, VALUE`
Example: Change terminal from Super+Return to Super+T
```nix
# ...
bind = [
# ...
"$modifier,T,exec, ${terminal}"
# ...
];
# ...
```
---
### `exec-once.nix` — Startup applications
Commands that start automatically with Hyprland.
Location: `modules/home/hyprland/exec-once.nix`
Example: Add copyq to autostart
```nix
# ...
exec-once = [
# ...
"pypr &"
"copyq"
];
# ...
```
---
### `decoration.nix` — Borders, shadows, blur
Location: `modules/home/hyprland/decoration.nix`
Example: Rounded corners
```nix
# ...
decoration = {
rounding = 10;
};
# ...
```
---
### `env.nix` — Environment variables
Location: `modules/home/hyprland/env.nix`
Example: Enable Wayland for Firefox
```nix
# ...
env = [
"SDL_VIDEODRIVER, wayland"
"MOZ_ENABLE_WAYLAND, 1"
];
# ...
```
---
### `gestures.nix` — Touchpad gestures
Location: `modules/home/hyprland/gestures.nix`
Example: Disable workspace swipe
```nix
# ...
gestures = {
workspace_swipe = 0;
};
# ...
```
---
### `misc.nix` — Misc settings
Location: `modules/home/hyprland/misc.nix`
Example: Enable Variable Refresh Rate
```nix
# ...
misc = {
vrr = 1;
};
# ...
```
---
### `hyprland.nix` — Main configuration
Location: `modules/home/hyprland/hyprland.nix`
Example: Keyboard layout
```nix
# ...
input = {
kb_layout = "us";
};
# ...
```
---
### `windowrules.nix` — Window rules
Location: `modules/home/hyprland/windowrules.nix`
Example: Float Thunar always
```nix
# ...
windowrule = [
"float, class:^(foot-floating)$"
"float, class:^(Thunar)$"
];
# ...
```
---
## Helpful tips
- Make one change at a time and rebuild to validate.
- Keep a terminal open during experiments in case your launcher keybind changes.
- If something breaks, reboot and choose a previous generation in the boot menu.