Tools & Commands
ANIX Reference
ANIX is the Abora command layer: it wraps nixos-rebuild with profile switching, rollback, snapshots, TinyPM, and system config management. Version: 1.0.5.
Config file
ANIX reads and writes /etc/nixos/anix.nix. It uses sed-based read/write, no Nix parser. The flake output targeted is nixosConfigurations.abora.
# View current ANIX config
anix show
# Edit the raw anix.nix file
anix edit
# Set a value
anix set hostname mycomputer
anix set desktop gnome
anix set timezone America/New_York
anix set wallpaper Daytime-MNT.jpgSystem status
anix status # current config summary (hostname, desktop, edition, rollback state)
anix version # ANIX version string
anix profiles # list all nixosConfigurations in the flake
anix generations # list NixOS system generations with datesRebuild commands
These wrap nixos-rebuild and run against /etc/nixos#abora by default.
anix applynixos-rebuild switch: build and activate immediatelyanix testnixos-rebuild test: activate without making it the boot defaultanix bootnixos-rebuild boot: set as next boot target without activating nowanix diffnix store diff-closures: show package delta before applying# Switch to a different flake profile
anix switch nix gaming # activates nixosConfigurations.gaming
anix switch nix minimal # activates nixosConfigurations.minimal
# Dry run: show what would change without building
anix apply --dry-runRollback
anix rollback # roll back to the previous generation
anix generations # list available generations
anix rollback --gen 5 # roll back to a specific generation numberanix apply creates a new generation. Old generations stay on disk until garbage collected. You can always boot a previous generation from the Limine boot menu.Snapshots
ANIX can git-commit your /etc/nixos directory before risky operations. Requires the config dir to be a git repo (set up by anix quickstart).
anix save # git add -A && git commit in /etc/nixos
anix save "before update" # commit with a messageEnable automatic push: anix config set snapshots.push true. ANIX checks for API keys / tokens / passwords in tracked files before committing and warns you.
Package management
Adds/removes Nix packages in your anix.nix and rebuilds.
anix package add neovim ripgrep bat
anix package remove neovimServices
anix service enable openssh
anix service disable bluetooth
anix enable flatpak
anix disable printingGarbage collection
anix gc # nix-collect-garbage -d (removes all old generations)
anix gc --keep 3 # keep the last 3 generationsDoctor & diagnostics
anix doctor # checks nix, nixos-rebuild, config dir, flake, git state, ANIX preflight
abora doctor # full system health check (superset of anix doctor)ANIX doctor validates: nix and nixos-rebuild in PATH, config dir exists, flake.nix evaluates cleanly, git repo state, ANIX config preflight, and current generation profile.
TinyPM integration
anix tinypm status # check TinyPM installation state
anix tinypm install # install TinyPM for the current user
anix tinypm reinstall # force reinstall~/.tinypm/bin/. The grab command on Abora routes through TinyPM with Nix as the preferred backend. See the TinyPM page for details.Quickstart & setup
anix quickstart # initialise /etc/nixos as a git repo with anix.nix
anix docs # open ANIX documentation in the terminal pager
anix wallpapers # list available wallpaper namesGUI mode
Run anix --gui inside a desktop session. If zenity is available ANIX uses it for all dialogs. Falls back to the nested terminal menu system if not.
Full command list
anix versionPrint ANIX versionanix statusShow config summaryanix showShow parsed anix.nix valuesanix editOpen anix.nix in $EDITORanix set <key> <value>Write a value into anix.nixanix enable <flag>Enable a boolean optionanix disable <flag>Disable a boolean optionanix profilesList flake nixosConfigurationsanix generationsList system generationsanix applynixos-rebuild switchanix testnixos-rebuild testanix bootnixos-rebuild bootanix diffShow closure diffanix switch nix <profile>Switch to another flake profileanix rollbackRoll back one generationanix rollback --gen NRoll back to generation Nanix save [message]Git snapshot of /etc/nixosanix package add <pkgs>Add Nix packagesanix package remove <pkgs>Remove Nix packagesanix service enable/disableToggle systemd services in configanix gcRun nix garbage collectionanix doctorSystem + ANIX health checkanix tinypm status/installTinyPM managementanix quickstartInit config dir as git repoanix wallpapersList wallpapersanix docsOpen docs in pageranix config set <k> <v>Set ANIX tool config (not system)anix --guiLaunch zenity GUI mode