NixOS with the standard Linux layout, and a choice of systems at install time.
Omnix has two parts:
- A base: NixOS (unstable) plus a small layer that gives it the standard library layout other distributions have. Prebuilt software then just runs: manylinux wheels, rustup, vendor SDKs, AppImages, Electron apps.
- An installer: a small ISO that asks "What kind of system do you want?" and
installs the flavor you choose over the network, straight from
cache.nixos.org.
Omnix installer
▸ What kind of system do you want?
KDE Plasma - Atrium polished windows, mouse-first KDE desktop
Hyprland - Omarchy Omarchy-style keyboard-driven Hyprland (stable or latest)
Minimal just the base
On NixOS, a binary built for "Linux" usually fails to start:
$ ./some-vendor-tool
bash: ./some-vendor-tool: cannot execute: required file not foundIt needs /lib64/ld-linux-x86-64.so.2, /usr/lib, and /usr/bin/python3, which every
other distribution provides. The Omnix base adds them using tools nixpkgs already ships:
nix-ld and
envfs. It never relocates the Nix store, so it can use the same
prebuilt packages as NixOS from the official binary cache and compile when necessary.
Desktop labels follow the naming policy.
A flavor is a flake that turns the base into a complete system. Each one lives in its own repository:
| Flavor | What it is |
|---|---|
| KDE Plasma desktop, polished windows, mouse-first | |
| A port of Omarchy, in stable (a pinned Omarchy release) and latest variants | |
| Minimal | The base alone |
The installed system is a flake that you own. The flavor is just one input. You switch flavors by changing that input and rebuilding, and you can return to the previous one from the boot menu.
- No packages of its own. Everything comes from nixpkgs and
cache.nixos.org. - No infrastructure beyond a minimal installer ISO on GitHub Releases. There is no binary cache, channel, or website.
- Opinions live in flavors. The base only provides FHS compatibility.
Preview. Download the installer from
Releases, boot it, and run
sudo omnix-install. To add the base to an existing NixOS (unstable) flake
instead:
inputs.omnix = { url = "github:Omnix-Linux/Omnix"; inputs.nixpkgs.follows = "nixpkgs"; };
# modules = [ omnix.nixosModules.default ... ];nix flake check boots the base in a VM and runs downloaded binaries against
it. tests/install-qemu.py installs the ISO unattended and boots the result.
See design, prior art,
roadmap, and the registry, flavors.json.
Omnix is independent and not affiliated with or endorsed by the NixOS Foundation. It
depends entirely on nixpkgs, NixOS, and the public cache.nixos.org. Small fixes that
belong upstream go upstream.
The Apps catalog has separate terminal, browser and communication checks:
nix build .#checks.x86_64-linux.apps-terminals
nix build .#checks.x86_64-linux.apps-browsers
nix build .#checks.x86_64-linux.apps-communicationEach check boots an Omnix VM with the desktop library preset and an X11 session, then launches clients as an ordinary user. Screenshots are saved in the check output. These checks complement the existing vendor-binary checks; they do not replace Kitty, Brave, Telegram, Signal or Slack coverage.
- Terminals: WezTerm, Alacritty, Ghostty and xterm exercise a shell, PTY, terminfo and typed input. tmux exercises a two-pane session, input, attachment and persistence after detachment.
- Browsers: Chrome, Chromium, Firefox and the hash-pinned upstream Helium release load a local HTML page and execute JavaScript with fresh profiles. Chromium-based clients retain their sandbox.
- Communication: Discord, Element and Thunderbird exercise desktop startup
without external accounts. Element uses an isolated unlocked GNOME keyring
and
--password-store=gnome-libsecret, preserving encrypted credential storage. Discord may only reach its network-dependent updater in the VM; a visible bootstrap window is not evidence of sign-in readiness. Messaging, calls and mail delivery are outside this check's scope.
Native applications come from the locked nixpkgs revision. Chrome and Discord are explicitly allowed unfree packages in these test VMs. These checks do not claim Wayland, hardware acceleration or complete application compatibility.