Tiling window managers part 2: 2 Hyprland 2 Furious: Config drift


Published on 18/03/2026
Last modified at 19/03/2026

Due to some regressions in COSMIC, I had moved back to KDE for some months, finding myself missing the tiling features but afraid of the potentially daunting task of configuring one. Turns out, getting a functional Hyprland config wasn't the pain I thought it was.

The setup


Reading documentation is one of the most important skills a developer can have. There is no better test of this than reading the Hyprland wiki when installing. The base package itself does not come with everything one would want and there is a remarkable amount of choice that goes into customizing your Hyprland setup.

Luckily, the wiki is one of the easiest to read I've seen to date and contains good examples of default configurations. Getting a functional setup took significantly less time than anticipated (I set aside an entire Sunday for this task, expecting pain and misery!)

I went with Hyprpanel for my top bar (as it comes pretty full featured out of the box), Hyprpaper for wallpapers, Hyprlock for screen locking, Hypridle for handling automatic suspending, and Walker as the application launcher.

Important to note, make sure you check if any part of the Hyprland ecosystem you choose to install has any sub-dependencies that need installing or configuring.

I recently had created a bootstrap script for Arch Linux, allowing me to install all the packages I desire from a fresh install. My next step after installation and copying over the default configurations was installing the packages then adding them to my script.

packages=(
  ...
  hyprland
  hyprpaper
  hyprpicker
  hypridle
  hyprlock
  swww
  xdg-desktop-portal-hyprland
  brightnessctl
  hyprpolkitagent
)

echo "Installing system packages now..."
sudo pacman -Syu
sudo pacman -S "${packages[@]}"

# Some packages are required to be installed from the AUR

yayPackages=(
  ags-hyprpanel-git
  walker
  grimblast
  elephant
  elephant-desktopapplications
  qtct6-kde
)

yay -S "${yayPackages[@]}" 

Configuration and GNU Stow


The config part


My current setup is running 95% default configuration options. Every part of Hyprland either comes with a default configuration or the wiki will have one that you can copy and paste. The only significant changes I've made is that I removed window rounding from window borders and added some keybinds I missed from COSMIC:

# .config/hypr/hyprland.conf
# Move active window left/right/up/down
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
# Open browser
bind = $mainMod, B, exec, $browser

The GNU Stow part


GNU Stow is a fancy little program I've been using, that has been described as a "dotfile farm manager"

The short explanation is this: I have all my config files in my home folder called "Dotfiles". Running the command gnu stow . in that directory generates symlinks to all those files inside my Home folder. So for example, after running that stow command, inside /home/alex/.config/hypr/hyprland.conf there will be a symlink that links to the file inside /home/alex/Dotfiles/.config/hypr/hyprland.conf

If you find my explanation lacking, you can read a better one from the blog of Brandon Invergo

What this allows for me, is my dotfiles are now managed with Git, along with my install script. As part of the script, my dotfiles are copied over and stowed after package installation. When installing Arch on my laptop, I had my setup ready to go within minutes of the OS install finishing.

The actual dotfiles


You can browse my dotfiles over here on GitHub to get a better idea of my setup.

The experience


Good lord, and I thought COSMIC was smooth! Hyprland is lightning fast, quite lightweight and customizable to an almost infinite amount! Within an hour of using it I knew it was going to be my daily driver. I can tell why customizing and posting Hyprland configurations to Reddit has become such a popular pasttime.

I'm truly glad I got over my dotfile phobia and dove into it. For any developer and/or fan of keyboard shortcuts, you need to give it a try!