Omarchy can't run on NixOS because NixOS is not FHS compliant. Omnix is.
Omarchy is DHH's opinionated Hyprland desktop, and it's built for Arch. It installs
with a script, its 444 commands are bash scripts that start with #!/bin/bash, 36 of them call
pacman or yay, and the apps it ships are prebuilt binaries that expect their libraries in
/usr/lib.
NixOS has none of that. It keeps every package in its own hash-named directory in
/nix/store, so /bin/bash and /usr/lib don't exist, and there's no pacman.
Omarchy stops at its first command. Until now you had to choose between Omarchy's desktop and NixOS's
reproducible, rollback-safe system.
$ omarchy-theme-set tokyo-night bash: omarchy-theme-set: /bin/bash: bad interpreter: No such file or directory $ sudo pacman -Syu sudo: pacman: command not found $ ls /usr/lib ls: cannot access '/usr/lib': No such file or directory
We're building Omnix with a standard Linux layout.
We're building Omnix, a NixOS base designed to provide the standard Linux paths that scripts and prebuilt apps expect.
That foundation brings familiar paths together with Nix-managed packages, reproducible configuration, and system rollbacks.
FHS-compliant layout
Standard Linux paths
/bin/bash-> runs bash scripts/usr/bin/-> finds tools and interpreters/lib/, /usr/lib/-> finds shared libraries/lib64/-> finds the x86-64 ELF loader
NixOS layout
Packages in /nix/store/
<hash>-bash/bin/bash-> shell in its own package<hash>-app/bin/-> programs in their own packages<hash>-library/lib/-> libraries kept separately<hash>-glibc/lib/-> package-managed ELF loader
Omnix = FHS paths + Nix packages
The standard paths resolve to Nix-managed software:
/bin/bash-> /nix/store/<hash>-bash/bin/bash/usr/bin/<tool>-> the Nix-managed tool on your PATH/lib/, /usr/lib/-> shared libraries backed by/nix/store/lib64/-> nix-ld's compatibility loader
Packages stay in /nix/store. We're adding the paths scripts and prebuilt binaries expect, while keeping Nix's reproducibility and rollbacks.
Omarchy, ported to Omnix.
We're developing Autarchy, a port of Omarchy to Omnix. We're bringing over Omarchy's own Hyprland configuration, keybindings, themes, and scripts to preserve its desktop experience.
We're keeping the port in sync with upstream: stable pins an Omarchy release, while latest tracks its development branch. Our goal is reproducible upgrades and rollbacks for the desktop and the rest of the system together.
stable is v4.0.4, latest tracks its development branch$OMARCHY_PATH, where its config looks for them~/.config seeded once from Omarchy's templates, the way its installer does itnix flake update and a rebuild, with rollbackPrebuilt software just runs.
Omnix adds the standard Linux layout on top of NixOS: a loader at /lib64, a declared
set of common libraries in /usr/lib, a fresh ld.so.cache, and a /bin that
resolves #!/bin/bash. Manylinux wheels, rustup, vendor SDKs, Electron apps, and Playwright browsers
start without patching or wrappers.
$ ./some-vendor-tool --version some-vendor-tool 4.2.0 $ readlink /lib64/ld-linux-x86-64.so.2 /nix/store/…-nix-ld/libexec/nix-ld $ python3 -c 'import ctypes.util as u; print(u.find_library("z"))' libz.so.1 $ head -1 ./install.sh && ./install.sh #!/bin/bash installed.
Prebuilt when available. Compiled when needed.
The rule is add, never relocate. Omnix never patches or moves a nixpkgs package,
so Omnix can use the same prebuilt packages as NixOS from cache.nixos.org. Installs and
upgrades download those packages when available and compile when necessary.
The installer ISO lives on GitHub Releases. Omnix uses the NixOS binary cache for available prebuilt packages and builds software when a suitable cached package is unavailable.
Pick your desktop at install time.
The base stays small. Everything opinionated lives in a flavor, a complete system in its own repository. Autarchy ports Omarchy's keyboard-driven Hyprland desktop. Atrium is a polished, mouse-first KDE Plasma desktop with independent virtual desktops on every monitor.
The installer reads the flavor list live, so new styles show up without a new ISO.
Every change rolls back.
Your system is a flake that you own in /etc/nixos, and your flavor is
one input in it. Switch from Atrium to Autarchy by changing that input and rebuilding.
The FHS layer is generated from your configuration and versioned with it, so rolling back a generation rolls back the library layout too. The previous system is always one entry away in the boot menu.
Omnix ▸ Generation 14 Autarchy (stable) 2026-10-03 Generation 13 Atrium 2026-09-28 Generation 12 Atrium 2026-09-21 Generation 11 Minimal 2026-09-20 $ sudo nixos-rebuild switch --rollback switched to generation 13 (Atrium)
Install Omnix. From the terminal.
Boot the ISO into a console and run sudo omnix-install. The entire install stays in the terminal; your desktop starts after reboot. Nothing touches your disk until you confirm.
Welcome to the Omnix installer. Run: sudo omnix-install
[nixos@nixos:~]$ ▌
Simulated from the boot ISO: terminal menus, individual prompts, then console output. Timing and log lines are illustrative. This preview uses a wired connection, btrfs and LUKS; Wi-Fi setup opens nmtui. Each loop tries the other desktop.