2.6 KiB
A Guide to Customizing Hyprland in ZaneyOS
This guide provides a practical overview for customizing your Hyprland experience in ZaneyOS. We’ll 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
fralias is deprecated.
- Note: The
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
# ...
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
# ...
exec-once = [
# ...
"pypr &"
"copyq"
];
# ...
decoration.nix — Borders, shadows, blur
Location: modules/home/hyprland/decoration.nix
Example: Rounded corners
# ...
decoration = {
rounding = 10;
};
# ...
env.nix — Environment variables
Location: modules/home/hyprland/env.nix
Example: Enable Wayland for Firefox
# ...
env = [
"SDL_VIDEODRIVER, wayland"
"MOZ_ENABLE_WAYLAND, 1"
];
# ...
gestures.nix — Touchpad gestures
Location: modules/home/hyprland/gestures.nix
Example: Disable workspace swipe
# ...
gestures = {
workspace_swipe = 0;
};
# ...
misc.nix — Misc settings
Location: modules/home/hyprland/misc.nix
Example: Enable Variable Refresh Rate
# ...
misc = {
vrr = 1;
};
# ...
hyprland.nix — Main configuration
Location: modules/home/hyprland/hyprland.nix
Example: Keyboard layout
# ...
input = {
kb_layout = "us";
};
# ...
windowrules.nix — Window rules
Location: modules/home/hyprland/windowrules.nix
Example: Float Thunar always
# ...
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.