This quickstart is aimed at developers who want to evaluate Abora OS locally without burning a USB drive. By the end you will have built the ISO from the Abora repo, booted it in QEMU, run the Denali installer, and confirmed the installed system boots correctly. The whole flow takes a few minutes of active work — most of the time is Nix downloading and building packages.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/AnimatedGTVR/abora-os/llms.txt
Use this file to discover all available pages before exploring further.
Install prerequisites
You need two things on the host machine before you start: Nix with flakes enabled, and QEMU.Nix with flakesIf you do not already have Nix, install it via the official installer. Then enable flakes in your Nix configuration:QEMUInstall QEMU through your system’s package manager. On an existing NixOS system:On Ubuntu/Debian:On macOS with Homebrew:
The
make qemu-fresh and make qemu-disk targets in the Abora repo call QEMU directly. QEMU must be available on your PATH before running either target.Build the ISO with `make iso`
Build the Abora OS live ISO:This calls
./scripts/build-iso.sh, which uses nix build internally. The first run will take a while as Nix fetches packages. Subsequent builds are much faster because Nix caches the results.The output ISO lands in the out/ directory once the build completes. You can also build the full release bundle (ISO + TinyPM package + checksums + release manifest) with make release, but make iso is the fast path for local testing.Boot the ISO in QEMU with `make qemu-fresh`
Start a clean QEMU install test. QEMU opens a graphical window. The ISO boots, starts NetworkManager, and launches the Denali installer on
qemu-fresh deletes any existing virtual disk image before booting the ISO, so every run starts from a blank slate:tty1 automatically.Installer navigationThe Denali installer is fully keyboard-driven. You do not need a mouse at any point.Run the Denali installer
The installer walks through eight steps before touching the disk. Here is the full flow:Work through each step:
- Network — connect to Wi-Fi via
nmtuiif needed, or continue if you are already on a wired connection. - Identity — set hostname, username, timezone, keyboard layout, and password.
- Desktop — choose one of the 22 desktop environments from the numbered menu.
- Apps — pick a starter bundle (Fan Favorites, Essentials, Social, Creator, Developer, Gaming, System Tools, or None).
- Options — enable or disable ANIX; optionally sign in to GitHub CLI.
- Preflight — the installer checks all required tools, assets, and network access before any disk changes.
- Disk — select the target disk. In QEMU this is the virtual hard drive. All data on the selected disk will be erased.
- Confirm — review the summary and confirm. The installer partitions the disk, writes the NixOS configuration, validates it, and runs
nixos-install.
| Partition | Size | Purpose |
|---|---|---|
| BIOS boot | 1 MiB | Legacy boot support |
| EFI system | 512 MiB | UEFI boot |
| Root | Remaining space | ext4 system root |
Boot the installed system with `make qemu-disk`
When the installer finishes, QEMU auto-powers off. You will see a message in the installer telling you to run This boots the virtual hard drive directly, without the ISO attached. The Limine bootloader appears, then the installed Abora system boots into the desktop you selected.
make qemu-disk on the host:QEMU auto-powers off after a successful install — it does not reboot into the ISO again. This is intentional: running
make qemu or make qemu-fresh after install would boot the ISO and start a fresh install, not the system you just installed. Always use make qemu-disk to reach the installed system.First-boot checks with `abora doctor` and `anix quickstart`
After the first login, run these two commands to confirm everything is healthy and to complete the ANIX first-run setup:
abora doctor checks Flatpak, themes, boot assets, available updates, and ANIX health. It prints a clear pass/fail for each item.anix quickstart completes the ANIX first-run setup: it initialises the local Git repo in /etc/nixos, sets up snapshot defaults, and confirms profile availability.Once both pass, run these to check the wider system state:What comes next
With the system running, the main things to explore are:abora config— view and change local settings like hostname, timezone, and desktop without editing.nixfiles by hand.anix switch nix gaming— switch to a different named flake profile.grab <package>— install an app through the best available source.anix save— create a local Git snapshot of/etc/nixosbefore making changes.