# Hyprland Configuration Personal [Hyprland](https://hyprland.org/) setup on Arch Linux — a dynamic tiling Wayland compositor with smooth animations and a declarative config format. Config directory (Arch): `~/.config/hypr/` > [!warning] Raw notes > These are living, personal config notes — raw, frequently out-of-date, and sometimes half-baked. They reflect my setup at some point in time, not a maintained tutorial. Verify against upstream docs before copying. Reach out if something looks broken. > [!info] Config lives on Arch Linux > The Hyprland config lives on the Arch Linux machine and is synced from the dotfiles repo at `configuration/arch/.config/hypr/`. No Hyprland config exists on macOS (Hyprland is Wayland/Linux-only). The directory was not present at the time these notes were written — see dotfiles repo for the current state. ## Status Config synced from arch setup — see dotfiles at `configuration/arch/.config/hypr/`. The Hyprland config directory (`~/.config/hypr/`) was not found in the dotfiles at the time these notes were authored. It may not yet be committed, or it may live directly on the Arch machine outside the dotfiles repo. ## What to expect when it's committed Hyprland config is split across a few files in `~/.config/hypr/`: | File | Purpose | |------|---------| | `hyprland.conf` | Main config — monitors, keybinds, window rules, animations | | `hyprpaper.conf` | Wallpaper daemon config | | `hypridle.conf` | Idle/lock screen config | | `hyprlock.conf` | Lock screen appearance | ### Typical sections in `hyprland.conf` ```ini # Monitor layout monitor = DP-1, 2560x1440@144, 0x0, 1 # Input input { kb_layout = us follow_mouse = 1 touchpad { natural_scroll = true } } # Keybinds $mod = SUPER bind = $mod, Return, exec, ghostty bind = $mod, Q, killactive bind = $mod, F, fullscreen bind = $mod SHIFT, E, exit # Window rules windowrule = float, title:^(Karabiner).* ``` > [!tip] Hyprland keybind convention > `bind = $mod, key, dispatcher, args` — `$mod` is usually `SUPER` (Windows key). Dispatchers: `exec` (run command), `killactive` (close window), `workspace` (switch workspace), `movetoworkspace`, `togglefloating`, `fullscreen`. ## Common Hyprland Dispatchers | Keybind pattern | Action | |-----------------|--------| | `$mod, 1-9` | Switch to workspace N | | `$mod SHIFT, 1-9` | Move active window to workspace N | | `$mod, Return` | Open terminal | | `$mod, Q` | Close active window | | `$mod, F` | Toggle fullscreen | | `$mod, V` | Toggle floating | | `$mod, mouse:272` | Move window (drag) | | `$mod, mouse:273` | Resize window (drag) | ## Links - [Hyprland docs](https://wiki.hyprland.org/) - [Hyprland GitHub](https://github.com/hyprwm/Hyprland) - [Hyprland wiki — Configuring](https://wiki.hyprland.org/Configuring/Configuring-Hyprland/) - [Hyprland wiki — Keybinds](https://wiki.hyprland.org/Configuring/Binds/) - [hyprpaper](https://github.com/hyprwm/hyprpaper) - [hypridle](https://github.com/hyprwm/hypridle)