DEV Community

Cover image for How I run End-4's Hyprland dotfiles on NixOS with flakes and Home Manager
Abdullah Musa
Abdullah Musa

Posted on Originally published at musabase.com

How I run End-4's Hyprland dotfiles on NixOS with flakes and Home Manager

End-4's illogical-impulse (the Quickshell-based Hyprland setup, repo name dots-hyprland) ships installers for Arch, Fedora and Gentoo. NixOS isn't on that list. The project's own Nix-based installer is aimed at other distros, not NixOS.

I wanted it on NixOS anyway, so I wrote a flake plus Home Manager config for it. It's three files. This post gives you the files and explains how they fit together. The full walkthrough, with every command and screenshot, is on my site, linked at the end.

Tested on: NixOS unstable (26.11.20261015), starting from a Budgie install, with End-4 at commit 2f2a376 and QuickShell at 4f508be, October 2026. That is one VM, so treat it as "works for me" until you've tried it yourself.

End4 dotfiles running on NixOS

What you need

  • A base NixOS install. I used Budgie as the starting desktop, but any works.
  • x86-64 CPU, 8 GB RAM minimum, and about 45 GB for the root partition.
  • Hyprland 0.55 or newer. End-4's current config needs it, and the flake follows nixos-unstable, which ships a recent enough version.
  • A stable connection. The build compiles QuickShell from source. ## Get the files

All three go in /etc/nixos:

cd /etc/nixos
sudo curl -fLO https://raw.githubusercontent.com/musabase/end4-hyprland-nixos/main/flake.nix
sudo curl -fLO https://raw.githubusercontent.com/musabase/end4-hyprland-nixos/main/end4.nix
sudo curl -fLO https://raw.githubusercontent.com/musabase/end4-hyprland-nixos/main/end4-home.nix
Enter fullscreen mode Exit fullscreen mode

Read them before you build anything. They configure your whole system and the rebuild runs as root, so don't take my word for what's in them.

What the three files do

  • flake.nix: the inputs (nixpkgs unstable, Home Manager, and a pinned QuickShell commit) and the system definition that pulls in the other two files. It also holds my username, which you'll need to replace with yours.
  • end4.nix: system level. Hyprland and its portals, audio, Bluetooth, networking, authentication, Qt integration, fonts, and the packages End-4's interface depends on.
  • end4-home.nix: user level, through Home Manager. QuickShell with the Qt/QML modules it needs, the Python packages End-4's scripts import, a clone of the original dotfiles repo, and symlinks from its config folders into ~/.config. ## Building it

Flakes need to be enabled on your system first. After that, open flake.nix, replace my hardcoded username with your own, and rebuild NixOS against the flake. The first build compiles QuickShell and took about 20 minutes on my machine. When it finishes, reboot and pick Hyprland from your login manager's session list.

The exact commands, how to confirm the build worked, and what to do if it looks stuck are in the full guide.

Rebuilding NixOS after adding End4 dotfiles

Keeping it from breaking

End-4's repo moves fast, and a NixOS port that tracks main blindly will break the first time something changes upstream. So I pin two things: the dotfiles are cloned at a specific commit, and QuickShell is pinned to the commit End-4's own Arch package uses.

A GitHub Action checks End-4's repo every week. When something changed, it bumps both pins together and opens a draft pull request. It also evaluates the NixOS config on a stub host, so a bump that doesn't evaluate fails in CI instead of on my machine. I still test each update on a fresh NixOS install before merging.

The pin only applies to fresh installs, so updating an existing install has one extra manual step. That's covered in the full guide too.

What doesn't work

Two packages from End-4's Arch list are missing:

  • MicroTeX, so LaTeX formulas in the AI sidebar won't render.
  • The Breeze Plus icon theme. Neither is in nixpkgs. I checked with nix search on nixos-unstable in October 2026 and it finds neither. End-4's own Nix installer lists both as TODO for the same reason.

The full guide

The full guide on my site has the exact build commands, screenshots, how to check the build, updating, uninstalling, the keybinds and an FAQ: How to Install End-4 (illogical-impulse) on NixOS. The files are in the end4-hyprland-nixos repo. If you're on Arch instead, End-4's official installer does everything and I wrote that up here. It's part of a series comparing Hyprland dotfiles, which starts at Best Hyprland Dotfiles 2026.

I wrote both the config and the site linked above, so weigh my testing with that in mind. If something breaks for you, open an issue on the repo with the first error line from the build and I'll take a look.

Originally published on MusaBase.

Top comments (0)