A friendlier take on NixOS.
Website • Wiki • Release Notes • Security • Roadmap • Contributing
v3.0.0 Denali
Abora OS is a distro built for people who like what NixOS can do, but want the first experience to feel more welcoming.
It keeps the full NixOS base, then wraps it in a cleaner live image, a friendlier installer, and a stronger identity from boot to desktop.
Abora is an attempt to make NixOS feel less distant.
Instead of dropping people into a system that feels like it was only built for people who already know the rules, Abora tries to smooth out the first steps. The goal is not to hide NixOS — the goal is to make it easier to approach, easier to install, and easier to live with.
- Terminal-first live boot and installer with a full welcome flow
- 21 desktop environments to choose from at install time
- Curated starter app bundles: Fan Favorites, Essentials, Social, Creator, Developer, Gaming, System
- 52 apps in the catalog across 6 categories
- Flatpak + Flathub enabled out of the box on every install
- Curated wallpaper pack seeded across all supported desktop sessions
- Dark-first desktop defaults across the full session matrix
- GNOME accent and theme auto-matching for Abora wallpapers
- Limine as the installed-system bootloader with Abora branding
- Reproducible ISO builds via Nix flakes
sudo nixos update/rollbackflow on installed systems- Update channels: track
stablereleases orunstable(main branch) abora configcommand to view and change system settings without editing Nix- ANIX v1 profile management with status, snapshots, diff/test/boot/switch/rollback workflows
- TinyPM v4 app layer with source status, repair, and Abora/ANIX bridges
- Omarchy-inspired Denali installer TUI
- Optional GitHub CLI integration for repos, dotfiles, and support workflows
- Abora branding across boot, desktop, and fastfetch
Abora v3 ships with 20 desktop environments/window managers, plus a no-desktop install, selectable at install time:
| Desktop | Type | Display Manager |
|---|---|---|
| GNOME | Full DE | GDM |
| KDE Plasma | Full DE | SDDM |
| Hyprland | Wayland compositor | SDDM (Wayland) |
| Sway | Wayland compositor | SDDM (Wayland) |
| Niri | Wayland compositor | SDDM (Wayland) |
| River | Wayland compositor | SDDM (Wayland) |
| XFCE | Full DE | LightDM |
| Cinnamon | Full DE | LightDM |
| MATE | Full DE | LightDM |
| Budgie | Full DE | LightDM |
| LXQt | Lightweight DE | SDDM |
| Pantheon | Full DE | LightDM |
| i3 | Tiling WM | LightDM |
| AwesomeWM | Tiling WM | LightDM |
| Openbox | Floating WM | LightDM |
| Qtile | Tiling WM | LightDM |
| BSPWM | Tiling WM | LightDM |
| Fluxbox | Floating WM | LightDM |
| IceWM | Floating WM | LightDM |
| Herbstluftwm | Tiling WM | LightDM |
| No desktop | Console-only | TTY |
The installer is a terminal-first, keyboard-driven setup flow that runs directly from the live image.
- Opens with a welcome menu before anything touches the disk
- Auto-detects timezone and keyboard layout, with a dedicated locale step to correct either
- Lets you pick hostname, username, password, and desktop environment
- Offers a starter app bundle selection (or none at all)
- Optional GitHub CLI login step for post-install workflows
- Shows a bordered install summary before wiping the disk
- Displays live progress during
nixos-install - validates generated config before
nixos-install - shows useful logs on failure
Menu navigation supports arrow keys and number keys — press 1–9 to jump to any item instantly.
Every install creates a GPT with:
- 1 MiB BIOS boot partition
- 512 MiB EFI system partition
- ext4 root partition using the rest of the disk
Build the ISO, then boot it in QEMU:
make iso
make qemu-freshAfter installing in QEMU, boot the virtual hard drive without the ISO:
make qemu-diskAfter installation, local system settings live in /etc/nixos/abora-local.nix:
abora.hostname = "my-pc";
abora.timezone = "America/New_York";
abora.desktop = "gnome";The abora config command lets you view and change settings without editing the file directly:
abora config # show all current settings
abora config set hostname my-pc
abora config set timezone America/New_York
abora config set desktop hyprland
abora config apply # rebuild to apply changesNote: user and disk are read-only through abora config for safety — edit abora-local.nix directly for those.
ANIX is the human layer for NixOS and Abora: a safer OS-management CLI that hides the rebuild and flake syntax without replacing the NixOS machinery underneath.
Use it like this:
anix init
anix quickstart
anix --gui
anix status
anix profiles
anix generations
anix show
anix diff nix gaming
anix test nix gaming
anix boot nix gaming
anix switch nix gaming
anix rollback nix
anix rollback nix minimal
anix save
anix doctor
anix doctor --fix
anix set hostname my-pc
anix set wallpaper bluehorizon.png
anix set desktop none
anix wallpapers
anix applyANIX maps friendly profile names to real flake configs, so anix switch nix gaming becomes the safe version of sudo nixos-rebuild switch --flake /etc/nixos#gaming.
Snapshots stay local by default. anix save creates a Git commit in the user's /etc/nixos config repo, warns about possible secrets, and recommends moving real keys/passwords to sops-nix or agenix. Pushing snapshots is opt-in:
anix config set snapshots.push trueANIX still writes simple settings to /etc/nixos/anix.nix and rebuilds the normal Abora flake. It does not replace NixOS or Abora; it gives beginners a cleaner front layer for profile switching, rollback, recovery, desktop choice, wallpaper changes, and system health checks.
TinyPM is the app/package layer. Use it for installs, source checks, and app updates:
grab firefox
tinypm sources
tinypm system
tinypm repair
tinypm anix status
tinypm abora doctorTinyPM v4 prefers Nix on Abora and NixOS-family systems, while still supporting Flatpak, Snap, and common native package managers.
Abora also includes a small OS management layer:
abora welcome # first-step status and quick actions
abora doctor # check Flatpak, themes, boot assets, updates, ANIX
abora recovery # rollback, rebuild, repair Flathub, collect reports
abora setup # installed reconfiguration launcher
abora desktop list # list desktop profiles
abora desktop set gnome
anix status # profile, generation, and snapshot state
tinypm sources # package source status
make preflight # maintainer release checksFresh installs expose named flake profiles for ANIX:
anix switch nix stable
anix switch nix minimal
anix switch nix gaming
anix switch nix creator
anix switch nix developerUpdates offer a local ANIX snapshot before rebuilding, so users have a recovery point before changing the system.
Installed systems can track either the stable channel (latest tagged release) or unstable (main branch):
nixos channel # show current channel
nixos channel list # list available channels
nixos channel set stable
nixos channel set unstableFlatpak is enabled on every Abora install and the Flathub remote is added automatically on first boot — no manual setup needed.
On an installed Abora system:
sudo nixos update # pull latest and rebuild
sudo nixos rollback # return to the previous generationShorter aliases also work:
update
upgrade
rollbackThese commands sync the latest Abora project files into /etc/nixos/abora/, update the local flake, and rebuild the system.
Build the full release bundle:
make releaseThat writes the ISO, TinyPM package, checksums, release manifest, and release notes into the organized out/ folders.
Other targets:
make metadata # refresh release metadata only
make tinypm-package # TinyPM package by itself
make tinypm-image # TinyPM container image locallyTo publish the v3 line:
git tag v3.0.0
git push origin v3.0.0Run script checks:
./scripts/check-scripts.shValidate all desktop environment configs against nixpkgs:
./scripts/check-desktops.shRebuild in the VM workspace:
./scripts/rebuild-vm.sh- Wiki home
- Installation guide
- Updating Abora
- Abora tools
- Recovery
- ANIX v1
- TinyPM v4
- Building Abora
- Release notes
- Security policy
- Contributing guide
- Project layout
- Roadmap
Abora OS is licensed under the GNU General Public License v3.0 or later. See LICENSE.

