Skip to main content

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.

Every setting that makes your Abora install yours — hostname, timezone, keyboard layout, desktop, and wallpaper — lives in a single file: /etc/nixos/abora-local.nix. You can edit it directly, or use the abora config command to read and change individual values without opening a Nix file by hand. Either way, your changes only take effect after you run abora config apply to trigger a rebuild.

The abora-local.nix File

After installation, your local configuration file lives at:
/etc/nixos/abora-local.nix
A minimal example of what it looks like:
abora.hostname = "my-pc";
abora.timezone = "America/New_York";
abora.desktop  = "gnome";
The full file written at install time also includes your keyboard layout, user account, hashed password, disk device, and state version. You should not change abora.disk or abora.stateVersion after the first install.

The abora config Command

abora config is the recommended way to view and change settings without editing Nix directly. It reads from and writes to abora-local.nix and validates each value before writing.

Viewing Current Settings

Running abora config with no arguments prints all current values:
abora config
The output shows hostname, timezone, keyboard (console and XKB layouts), desktop, wallpaper, user, disk, and state version. The disk and state version rows are shown in a dimmed style to indicate they should not normally be changed.

Setting Values

abora config set hostname <value>
Set the machine hostname. Accepts letters, numbers, and hyphens only.
abora config set timezone <value>
Set the system timezone. Use a value from the tz database, for example America/New_York or Europe/London.
abora config set keyboard <value>
Set the console (TTY) keymap, for example us, de, or fr. This is the keyboard layout used before any graphical session starts.
abora config set keyboard.xkb <value>
Set the graphical keyboard layout used in X11 and Wayland sessions. Accepts standard XKB layout codes such as us, de, or gb.
abora config set desktop <value>
Set the desktop environment or window manager. See the Desktops page for the full list of valid profile IDs.
abora config set wallpaper <value>
Set the default wallpaper. Must be one of the bundled wallpaper filenames (see the wallpaper reference below).

Applying Changes

After one or more abora config set calls, apply the changes with a full system rebuild:
abora config apply
This runs nixos-rebuild switch --flake /etc/nixos#abora and activates the new configuration. The system is live on the new settings as soon as the rebuild completes.

Settable Keys Reference

KeyDescriptionExample value
hostnameMachine hostnamemy-pc
timezoneSystem timezoneAmerica/New_York
keyboardConsole keymap (TTY)us
keyboard.xkbGraphical keyboard layoutgb
desktopDesktop environment / window managerhyprland
wallpaperBundled wallpaper filenamebluehorizon.png
user and disk are read-only through abora config for safety. They are shown in abora config output but cannot be changed with abora config set. If you need to change them, edit /etc/nixos/abora-local.nix directly — and be careful, because changing abora.disk can affect the bootloader install target.

abora-options.nix Reference

The abora.* Nix option namespace is defined in abora-options.nix and included in every installed system’s flake. The full set of options is documented below.

abora.hostname

Typestr
Default"abora"
DescriptionThe machine hostname. Maps to networking.hostName.

abora.locale

Typestr
Default"en_US.UTF-8"
Example"de_DE.UTF-8"
DescriptionSystem locale. Maps to i18n.defaultLocale.

abora.timezone

Typestr
Default"UTC"
Example"America/New_York"
DescriptionSystem timezone. See /usr/share/zoneinfo for valid values. Maps to time.timeZone.

abora.keyboard.console

Typestr
Default"us"
DescriptionConsole keymap used in TTYs. Maps to console.keyMap.

abora.keyboard.xkb

Typestr
Default"us"
DescriptionX11/Wayland keyboard layout. Maps to services.xserver.xkb.layout.

abora.user.name

TypenullOr str
Defaultnull
DescriptionPrimary user account name. Setting this activates the full Abora configuration — networking, bootloader, desktop, and branding only apply when a user name is set.

abora.user.hashedPassword

Typestr
Default""
DescriptionHashed password for the primary user. Generate a new hash with mkpasswd.

abora.desktop

Typeenum
Default"gnome"
DescriptionDesktop environment or window manager to enable.
Valid values:
none gnome plasma hyprland sway xfce cinnamon mate budgie lxqt pantheon
i3 awesome openbox niri river qtile bspwm fluxbox icewm herbstluftwm cosmic mangowm

abora.disk

TypenullOr str
Defaultnull
Example"/dev/sda"
DescriptionInstall disk for the Limine bootloader. Set once at install time. Valid values include /dev/sda, /dev/nvme0n1, etc.

abora.stateVersion

Typestr
Default"26.05"
DescriptionNixOS state version. Set once at install time — do not change afterwards.

abora.wallpaper

Typeenum
Default"Daytime-MNT.jpg"
DescriptionDefault wallpaper filename shipped with Abora. The value must be one of the bundled filenames.

Bundled Wallpapers

Abora ships six wallpapers. These are the only valid values for abora config set wallpaper and abora.wallpaper:
FilenameDescription
Daytime-MNT.jpgMountain scene in daylight — the default wallpaper
NightTime-MNT.pngMountain scene at night — used as the GNOME dark-mode wallpaper when Daytime-MNT is active
oceandusk.pngOcean at dusk
bluehorizon.pngBlue horizon gradient
astronautwallpaper.pngAstronaut scene
glacierreflection.pngGlacier reflection
GNOME users get automatic dark-mode wallpaper pairing: when abora.wallpaper is set to Daytime-MNT.jpg, the dark-mode wallpaper is automatically set to NightTime-MNT.png. For all other wallpapers, the same file is used for both light and dark modes.
To change the wallpaper with the ANIX layer:
anix set wallpaper bluehorizon.png
Or with abora config:
abora config set wallpaper bluehorizon.png
abora config apply

Build docs developers (and LLMs) love