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

2.6 KiB
Raw Blame History

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

# ...
  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.