Aborav3
TinyPMDownloadDocsArchivesv3v4
GitHub Download

Documentation

Everything you need to install, configure, and use Abora OS v3 Denali with ANIX. Complete guides for NixOS and package management.

Abora OS

What is Abora OS?

Abora OS is a Linux distribution built on NixOS with ANIX — a simpler command layer for system management. v3 Denali is the latest release.

Your entire system is defined in one configuration file. Version control it, share it, deploy it to any machine — every system ends up identical. No surprises. Upgrades are atomic. Rollbacks are instant.

Why Abora?

  • • Reproducible systems
  • • Atomic upgrades, instant rollbacks
  • • 23 desktop environments
  • • Simple with ANIX, powerful with NixOS

Installation

Requirements

  • • 2GB RAM minimum, 4GB recommended
  • • 20GB free disk space
  • • UEFI or BIOS capable

Step 1: Download

Get the v2.5 ISO from the download page (2.4 GB).

Step 2: Create bootable USB

Write the ISO to USB:

sudo dd if=abora-2.5.iso of=/dev/sdX bs=4M status=progress

Step 3: Boot and install

  1. 1. Insert USB and reboot
  2. 2. Boot from USB
  3. 3. Follow installer, choose desktop
  4. 4. Create user account
  5. 5. Reboot

First Boot & Setup

First boot takes a few minutes. This is normal — NixOS is initializing your system.

After login

  1. 1. Open terminal: Ctrl+Alt+T
  2. 2. Check system status: anix status
  3. 3. Update system: anix switch

Customization

Edit your system configuration at /etc/nixos/configuration.nix to add packages, change settings, or switch desktops.

Desktop Environments

Abora includes 23 desktop environments. You choose during installation or change later.

Popular choices

  • • GNOME — Modern, polished, user-friendly
  • • KDE Plasma — Feature-rich, highly customizable
  • • Hyprland — Modern Wayland compositor for power users
  • • i3 — Tiling window manager, minimal
  • • XFCE — Lightweight, traditional

Switch desktops

Edit /etc/nixos/configuration.nix, change the desktop setting, run anix switch.

System Configuration

Everything in Abora is configured in /etc/nixos/configuration.nix.

Basic structure

{ config, pkgs, ... }:
{
  services.openssh.enable = true;
  environment.systemPackages = [ pkgs.git ];
}

Common tasks

Add a package:

environment.systemPackages = [ pkgs.git pkgs.vim ];

Enable a service:

services.openssh.enable = true;

After editing, run anix switch to apply changes.

System Rollbacks

Broke something? Rollback instantly. Your previous system is always one boot away.

Quick rollback

Run: anix rollback

Then reboot. Your system is restored.

View history

See all past generations:

anix history

Boot menu

You can also pick a previous generation from the boot menu without using ANIX.

Troubleshooting

System won't boot

Boot into a previous generation from the boot menu, then use anix rollback.

Command not found

The package might not be installed. Add it to configuration.nix and run anix switch.

Stuck on boot

Try rolling back: anix rollback

Still stuck?

Visit the GitHub issues page or Discord community.

ANIX

What is ANIX?

ANIX is the human layer on NixOS. It makes system management simple.

Instead of: sudo nixos-rebuild switch --flake /etc/nixos

You run: anix switch

Core commands

anix status

Current system info

anix switch

Apply config changes

anix rollback

Go to previous generation

anix history

List past generations

Getting Started with ANIX

Your first ANIX command

Open a terminal and type:

anix status

This shows your current system generation and NixOS version.

Making changes

Edit your configuration and apply it:

  1. 1. Edit: nano /etc/nixos/configuration.nix
  2. 2. Apply: anix switch
  3. 3. Done. Changes take effect immediately.

Common ANIX Commands

anix switch

Apply config changes to the system. Run this after editing configuration.nix.

anix rollback

Go back to the previous system generation instantly.

anix history

List all available system generations with timestamps.

anix status

Show current generation number, NixOS version, and uptime.

anix gc

Garbage collect old generations to free disk space.

System Management with ANIX

Install packages

Edit configuration.nix:

environment.systemPackages = [ pkgs.vim pkgs.git ];

Run anix switch

Enable services

services.openssh.enable = true;

Services start automatically after anix switch

Swap desktop environments

services.xserver.desktopManager.kde.enable = true;

Logout and select KDE at login. Or run anix switch and reboot.

Rollback History

ANIX keeps a full history of your system generations.

View history

anix history

Shows generation number, date, and timestamp.

Rollback

Go back one generation:

anix rollback

Then reboot. Your system is restored.

Cleanup old generations

Free disk space by removing old generations:

anix gc --delete-older-than 30d

ANIX Configuration Files

Main config

Located at: /etc/nixos/configuration.nix

This is where you declare everything about your system.

Backup config

Keep your config in version control (git):

cd /etc/nixos
git init
git add configuration.nix
git commit -m "initial config"

NixOS & Flakes

NixOS Basics

NixOS is a Linux distribution with a unique approach: your system is defined in code.

Key concept: Declarative

You declare what you want. NixOS makes it happen. Same input = same result every time.

The config file

{ config, pkgs, ... }:
{
  environment.systemPackages = [ pkgs.git pkgs.vim ];
}

This file is your entire system description.

Benefits

  • • Version control your system
  • • Reproducible across machines
  • • Atomic upgrades
  • • Easy rollbacks

Package Management

System packages

Add to configuration.nix:

environment.systemPackages = [ pkgs.git pkgs.vim pkgs.tmux ];

Temporary packages

Run a package without installing:

nix-shell -p python3

Find packages

Search the package database:

nix search nixpkgs git

Declarative Packages

In traditional Linux, you run commands to change your system. In NixOS, you declare what you want in a file.

Declarative vs imperative

Traditional (imperative):

sudo apt install git vim

NixOS (declarative):

environment.systemPackages = [ pkgs.git pkgs.vim ];

Advantages

  • • Reproducible across machines
  • • Easy to share configurations
  • • No accidental changes
  • • Atomic upgrades

Home Manager

Home Manager lets you manage your home directory declaratively, just like you manage your system.

User-specific config

Install packages, configure dotfiles, and manage shell settings per-user without root.

Benefits

  • • User-level reproducibility
  • • Dotfile management
  • • Multiple user profiles

Flakes & Reproducibility

Flakes are NixOS's approach to reproducible, declarative project and system configuration.

Basic flake.nix

{ description = "My system";
  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
  outputs = { self, nixpkgs }: { /* config */ };
}

What flakes provide

  • • Locked dependency versions
  • • Reproducible builds
  • • Dependency management
  • • Multi-system support

Advanced NixOS

Overlays

Modify or extend package definitions:

nixpkgs.overlays = [ (final: prev: { vim = prev.vim.override { ... }; }) ];

Modules

Split your configuration into reusable, composable modules for better organization.

Custom packages

Define your own packages using Nix expressions to package software not in nixpkgs.

Need help? Visit our GitHub repository or join our community.

Product

  • Abora OS
  • TinyPM
  • Download

Docs

  • Documentation
  • Releases
  • NixOS

Community

  • GitHub
  • Discord
  • Matrix

Legal

  • Privacy
  • Terms
  • GPL-3.0

Abora OS v3 Denali © 2026. Built on NixOS. Open source.