Abora OS v4.1 Horizon
Abora OS v4.1 Horizon is the reliability-focused follow-up to Everest: a safer installer, corrected update and configuration paths, improved diagnostics, built-in community and learning tools, and a smaller ANIX language surface.
Horizon builds on Everest 4.0 and the DENALI 3.14 foundation while expanding how Abora can be installed, configured, updated, and used.
Released: · Tag: v4.1 · Channel: stable
Highlights
Horizon includes the Everest feature set and adds:
-
An opt-in Abora Labs installer choice that adds a guarded workspace manager
without fetching or executing experimental code during system installation. -
Non-destructive installation onto an existing partition
-
Abora adoption for existing NixOS systems
-
ANIX v2 with pluggable configuration languages
-
GPU driver selection for NVIDIA, AMD, and Intel
-
Abora Gaming as an optional system layer
-
Abora Gaming Welcome as its own GTK application
-
TinyPM rewritten in Rust
-
Linux kernel 7.2
-
MediaTek MT7902 Wi-Fi 6E and Bluetooth support
-
C# implementations of ANIX and the updater version/channel resolver
-
A partition editor (GParted) right inside the installer
-
Plain-language explanations when an install fails
-
Abora Community: an optional survey, Learn Nix, and reminders
-
GTK feedback and bug-report apps
-
The installed login screen shows your own name
-
Expanded MINT installer support
-
A large audit across scripts, Nix modules, installer flows, and release tooling
All 23 desktop profiles remain available:
GNOME, KDE Plasma, COSMIC, MangoWM, XFCE, Cinnamon, MATE, Budgie, LXQt, Pantheon, Hyprland, Sway, Niri, River, i3, AwesomeWM, Qtile, BSPWM, Herbstluftwm, Openbox, Fluxbox, IceWM, and console-only.
The App Catalog continues to provide seven optional starter bundles:
- Fan Favorites
- Essentials
- Social
- Creator
- Developer
- Gaming
- System Tools
Every bundle is optional.
What's New
Abora Labs
Labs is an explicit opt-in in the installer. It adds a guarded workspace manager for trying experimental Abora work. Nothing experimental is downloaded, run, or used for normal system updates during installation, and the updater only touches Labs on releases that ship it.
Abora Community
A new community module brings together an optional survey, a Learn Nix guide, and optional reminders. The survey has its own small GTK app, and everything in it is opt-in.
Feedback and Bug Reports
A new GTK4 app collects feedback and bug reports. Bug reports carry the same redacted diagnostics as abora support-report, so you no longer need the terminal to file a useful report.
Installer: Partition Editor
The TUI installer has an Edit partitions step that opens cfdisk, and the GUI installer has an Open partition editor (GParted) button. GParted ships on every live ISO. Make room for Abora, or set up dual boot, without leaving the installer.
Installer: Clearer Failures
When an install fails, the installer now reads the end of its own log and explains the likely cause in plain language: a signature or key problem, a package that failed to build, a network drop, or a disk that ran out of space. It also checks the system clock before starting, because a wrong clock is a common hidden cause of download and signature failures.
Non-Destructive Installation
The installer now offers Use an existing partition, installing Abora onto a partition you choose without wiping the entire disk. Fixes two failure modes found in testing: the EFI System Partition could be offered as the root target, and existing-partition installs could produce an unbootable system on Legacy BIOS.
Adopt Abora on Existing NixOS
Existing NixOS users can now adopt Abora without reinstalling, via a new interactive adoption wizard and one-command downloader that install Abora tooling — ANIX, abora, Abora configuration tooling, and Abora system integrations — onto a NixOS system you already have.
GPU Driver Support
The Everest foundation added the abora.gpu option with support for:
nouveau
nvidia
nvidia-open
amdgpu
intel
none
The installer detects the GPU vendor using lspci and offers appropriate choices. NVIDIA systems default to nouveau, while nvidia and nvidia-open remain explicit opt-in choices.
GPU configuration can also be changed later:
abora config set gpu nvidia
abora config applyabora hardware-test can now direct NVIDIA users toward GPU configuration when required.
ANIX v2
ANIX v2 introduces pluggable configuration languages. Supported adapters:
- ANIX Native (
.anix) - ModuCPP (
.moducpp)
The previously bundled MAKO adapter has been removed. Existing third-party
adapter discovery remains available through ANIX language manifests.
Example:
anix language list
anix language use anix
anix run workstation.moducpp
anix validate-plan plan.json
anix apply-plan plan.json
anix diff-plan workstation.moducppEach adapter resolves into the same underlying Plan JSON format. anix diff-plan labels settings as ADD, CHANGE, or SAME.
Examples are available in examples/anix-v2/, and the adapter documentation is available in docs/wiki/ANIX-V2-Languages.md.
Abora Gaming
Abora Gaming is optional and independent of desktop choice. It can provide:
- Steam with 32-bit graphics support
- GameMode
- MangoHud
- Steam hardware and controller support
- Vulkan diagnostic tools
- Common game launchers when available
- Wine and Winetricks
- Steam Big Picture launcher
- Optional fullscreen Gamescope Big Picture session
Commands include:
abora gaming status
abora gaming enable
abora gaming steam on
abora gaming install steam
abora gaming install wine winetricks
abora gaming big-picture
abora gaming gamescope on
abora gaming controllers on
abora gaming mangohud on
abora gaming gamemode on
abora gaming launchers on
abora gaming logs
abora gaming repair-cache
sudo abora updateabora gaming repair-cache clears stale local Nix fetch-cache files after
SQLite disk I/O failures during Gaming app installs.
The same functionality is available through Abora Config and ANIX:
abora config set gaming true
anix enable gaming
anix enable gaming.steam
anix enable gaming.big-picture
anix enable gaming.controllers
anix enable gaming.mangohud
anix enable gaming.gamemode
anix enable gaming.launchersAbora Gaming Welcome
Abora Gaming Welcome is now a separate GTK application dedicated to gaming setup. Launch it with:
abora gaming welcomeIt handles enabling the gaming layer, signing into Steam, and installing Steam, Lutris, Heroic, Bottles, Wine, Winetricks, GameMode, and MangoHud.
TinyPM v0.8
TinyPM has been rewritten from Bash into a Rust crate.
grab firefox
tinypm providers
tinypm doctorMediaTek MT7902 Support
The Everest foundation moved to Linux kernel 7.2, bringing upstream support for the MediaTek MT7902 Wi-Fi 6E and Bluetooth chipset via the in-tree mt7921e driver.
Installer Improvements
The GTK installer now includes:
Escas another way to go back- Full IANA timezone data with fuzzy search
- Improved disk filtering
- Consistent desktop ordering between the GUI and TUI
- GPU selection alongside identity, desktop, and disk configuration
Horizon continues to include Limine, Plymouth, Abora wallpapers, light desktop defaults, Papirus, Fastfetch on first shell launch, zsh with Spaceship prompt, and Flathub setup after first boot.
Changes
abora update
Fix abora update with no arguments — the primary documented way to update Abora — being a complete no-op that only printed the usage banner instead of updating.
abora rollback
Fix abora rollback never being wired up to its own already-working rollback logic, so the command did nothing at all.
Update Synchronization
Close a nine-file gap between what the release gate checks and what abora-update.sh actually keeps synchronized, including check-full.sh, installer.sh, setup-launcher.sh, and setup.desktop.
Ventoy Booting
Fix Ventoy-flashed USB drives failing to boot: the live initrd was missing busybox, which Ventoy's own udev hook depends on (grep, sed, awk, cut, blkid) to bridge the ISO into a kernel-visible block device.
thermald
Fix anix.power.thermald defaulting to enabled — on unsupported desktop hardware it exits nonzero, which nixos-rebuild switch treats as a failed activation, breaking every rebuild including abora update. Now opt-in.
VirtualBox Guest Additions
VirtualBox Guest Additions are no longer force-built into the live ISO — the out-of-tree kernel module's incompatibility with new kernels was blocking unrelated Abora kernel updates. Still available as an opt-in on installed systems through abora config.
Installer Fixes
Fixed:
/dev/zram0appearing as an install target- Hotplug-disk filtering not actually filtering
- Pantheon missing from the GUI desktop list
- Different desktop ordering between GUI and TUI
- Hardware-readiness checks counting zram as real storage
Installer Reliability (issues #32 and #33)
Fixed:
- Japanese and other non-US keyboards: the console keymap (for example
jp106) was passed straight to the graphical session, which needsjp. Console names are now mapped to the right desktop layout. - User passwords: password hashing could fail silently on some live environments. It now uses a hardened
opensslpath with fallbacks, and refuses an empty password instead of hashing it. target-flake.lockfailing with a nixpkgs mismatch: the bundled nixpkgs symlink is now resolved before it is checked against the lock.- Installs stalling for a long time at the .NET build step: the Native AOT tools now have a fixed source name, so the install reuses the already-built tools instead of rebuilding them.
- Flathub setup now keeps retrying after first boot instead of giving up silently when the network is not ready yet.
- The login screen showed every account as "Abora User", which looked like a leftover live account. The display name now defaults to your username and can be changed with
abora.user.fullName.
Abora Welcome on KDE Plasma
Fix the Abora Welcome app not opening on first login under KDE Plasma (it worked when launched by hand). It now starts once the Plasma panel is ready.
Start Abora
Fix the .desktop launcher showing Install Abora OS on systems that were already installed — the launcher itself already detected live vs. installed correctly, only the static label was wrong. Relabeled to Start Abora.
ANIX Fixes
Fixed:
anix run --languagewith no value silently crashing- Broken
anix switch nix <fam>README examples - Native
.anixplan values being truncated at spaces - CRLF endings leaking into plan values
- Gaming warnings firing when gaming was already enabled
- Plan-tool fields accepting control characters
MINT
The Go TUI installer now includes Root Account setup, ANIX toggle, Gaming Layer configuration, dotfiles importing (including for the Other edition), and starter application bundles. Two real MINT bugs were fixed, and automated build, vet, and test coverage was added.
Diagnostics and Support
Fixed:
redact_streammangling timestampsabora-support-reportleaving its staging directory behindabora-custom-packagesleaking temporary files and directoriesabora bug-report --githubcrashing beforeghran
Security
Fixed:
- Support reports and full checks redact Wi-Fi PSKs written as multi-line Nix strings, plus
Authorizationheaders of every kind (Bearer, Basic, Token, Digest). - The Abora adoption downloader refuses a hard reset over untracked or modified local work unless you explicitly force it.
abora buildfails closed when it cannot verify the checkout ref.- CI no longer keeps its GitHub token in the checkout.
Less Shell in the Core
The support and release tooling has moved from Bash to Python, continuing the work to remove shell scripts from Abora's core. Commands and output stay the same.
Audit Pass
A dedicated audit across Abora uncovered:
- 12 real bugs in a full
scripts/sweep - 6 more in the
nix/modules - 3 more during an end-to-end live installation test
- 2 release blockers found when
check-desktopsran against a working Nix daemon
Additional fixes included:
- Missing word boundary in
check-desktops - .NET build artifacts leaking into
check-all - Two ineffective duplicate tests in
check-scripts.sh - Incorrect UI library variable in the standalone ANIX wrapper
rebuild-vm.shignoring the requested branchabora build --from-source --refignoring the requested ref on existing checkouts- A
flake.nixissue breaking flake evaluation
Validation for Horizon includes:
make check
make check-desktops
make preflight
make iso-allAlong with:
- QEMU fresh installation
- Installed-disk boot testing
- ANIX v1 and v2 runtime tests
- GPU option evaluation
- Abora Gaming configuration testing
- TinyPM v0.8 package smoke testing
- Release manifest generation
- Checksum generation
Known Issues
xone-dongle-firmware
A nixos-rebuild / abora update failure involving xone-dongle-firmware has been reported, but has not yet been reproduced. Current builds complete successfully on our end.
If you encounter this issue, include the complete:
builder for '...' failed
line when reporting it.
VirtualBox Guest Additions
VirtualBox Guest Additions are now opt-in rather than default-on for the live ISO. If your live-ISO testing workflow relies on Guest Additions, enable them manually.
VirtualBox Installs
Installing inside VirtualBox (issue #33) has not been fully validated yet. If an install fails there, try disabling 3D acceleration and attach /tmp/abora-install.log to your report.
Limine Message on UEFI
On UEFI installs Limine may print device_cache_block(): set_pos(): Invalid argument while installing its BIOS stages. It is harmless: the install completes and the system boots. On a shared EFI partition, Limine also installs to the fallback path \EFI\BOOT\BOOTX64.EFI; other operating systems keep their own boot entries.
Current Limits
- Horizon ISOs are larger than older releases because of broader firmware and hardware support.
- Flatpak and app bundle installation requires network access after first boot.
- Steam and gaming launchers require network access.
- Some gaming packages may require unfree package permission through normal NixOS/nixpkgs configuration.
- Modularity requires the Developer bundle or can be installed later with:
grab modularity- COSMIC Greeter manages its own session, so GNOME auto-login settings do not apply to COSMIC.
nvidiaandnvidia-openrequire accepting NVIDIA's license through normal NixOS unfree-package configuration.- Hardware support ultimately depends on Linux kernel support for the specific device.
For networking problems:
abora networkFor support reports:
abora support-reportFor installer logs:
abora logs --lines 200If installation fails before reboot, preserve:
/tmp/abora-install.log
/tmp/abora-config.log
before powering off.
Download
Horizon ships in five editions:
| Release Asset | Edition |
|---|---|
abora-cosmic-<date>-x86_64-v4.1.iso |
COSMIC |
abora-hyprland-<date>-x86_64-v4.1.iso |
Hyprland |
abora-gnome-<date>-x86_64-v4.1.iso |
GNOME |
abora-kde-<date>-x86_64-v4.1.iso |
KDE Plasma |
abora-other-<date>-x86_64-v4.1.iso |
Other |
Additional release assets:
| File | Description |
|---|---|
tinypm-v0.8-abora-v4.1.tar.gz |
TinyPM v0.8 |
anix-*-abora-v4.1.tar.gz |
ANIX standalone package |
SHA256SUMS-v4.1.txt |
Checksums |
RELEASE_MANIFEST-v4.1.txt |
Release manifest |
Existing Abora installations can update with:
sudo abora updateEverest 4.0 systems can update in place with the command above. As with any major update, keep a backup, and remember abora rollback returns you to the previous generation if something goes wrong.
Five editions. 23 desktop profiles. ANIX v2. Abora Gaming. Community tools. A safer installer and update path.
Help Improve Abora
If you have a few minutes, please fill out the Abora OS Survey.
You can find the Survey app included with Abora OS. Your feedback helps us understand what people are using, what needs work, and what we should focus on next.
If you can’t access the app, you can also fill it out here:
The survey is completely optional.





