Nitrux strictly separates the immutable root filesystem from user-installed software. Installing applications never modifies the root—they exist entirely in user-writable locations, managed through declarative tooling rather than traditional package managers.
Decoupling Applications from System Integrity
In traditional distributions, applications and system components share the same hierarchy (e.g., /usr), creating a fragile dependency web in which a software update can destabilize the boot process. Nitrux eliminates this risk by enforcing a strict layered architecture.
This separation preserves immutability, gives users control over their applications, enables repeatable application environments, provides application isolation, and avoids traditional package-manager conflicts.
We treat the system not as a bucket for applications but as an immutable chassis. Applications are modular payloads that run on top of this chassis, not inside it.
We divide the system into three distinct zones of authority:
- Immutable root (Tier 0): The OS core. It is read-only, protected by NX Overlayroot, and updated strictly through the Nitrux Update Tool System.
- Persistent system state (Tier 1): Located in
/var/lib, this layer holds system-wide data that must change—such as rootful Distrobox containers, system Flatpaks, Bluetooth pairings, and service state—without modifying OS binaries. - Userspace (Tier 2): Located in
/home, this is the user’s domain. AppBoxes, user Flatpaks, rootless Distrobox containers, and user configurations live here, separate from the system core.
┌────────────────────────────────────────────────────────────────┐
│ USERSPACE │
│ /home │
│ ┌───────────────┐ ┌───────────────┐ ┌────────────────────┐ │
│ │ AppBoxes │ │ Flatpak user │ │ User configuration │ │
│ │ (NX AppHub) │ │ │ │ │ │
│ └───────────────┘ └───────────────┘ └────────────────────┘ │
├────────────────────────────────────────────────────────────────┤
│ PERSISTENT SYSTEM STATE │
│ /var/lib │
│ ┌───────────────┐ ┌───────────────┐ ┌────────────────────┐ │
│ │Flatpak system │ │ Distrobox │ │ Service data │ │
│ │ │ | rootful │ | (NetworkManager, │ │
│ │ │ │ containers │ │ BlueZ, etc.) │ │
│ └───────────────┘ └───────────────┘ └────────────────────┘ │
├────────────────────────────────────────────────────────────────┤
│ IMMUTABLE ROOT │
│ / │
│ │
│ Read-only base system │
│ (NX Overlayroot + NUTS) │
│ │
│ ┌──────────────────────┐ │
│ │ No writes allowed │ │
│ └──────────────────────┘ │
└────────────────────────────────────────────────────────────────┘
SOFTWARE INSTALLATION FLOW
┌──────────┐
│ User │
│ installs │
│ software │
└────┬─────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌───────────┐
│AppBoxes │ │ Flatpak │ │ Distrobox │
└────┬────┘ └────┬─────┘ └─────┬─────┘
│ │ │
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌───────────┐
│ /home │ │ /home or │ │ /home or │
│ │ │ /var/lib │ │ /var/lib │
└─────────┘ └──────────┘ └───────────┘
│ │ │
└───────────┴─────────────┘
│
▼
┌───────────────────────┐
│ Immutable root │
│ remains untouched │
└───────────────────────┘
Users can install, uninstall, or modify applications in the Userspace or Persistent State without compromising the Immutable Root’s bootability.
Why Rootless?
- Preserves immutability: Software installation cannot compromise the root filesystem’s known state.
- User autonomy: Users manage their own applications without elevated privileges. NX AppHub manages AppBoxes entirely within the user space, as do Flatpak and Distrobox by default.
- Layered isolation: Rootless applications are separate from the immutable base system. Flatpak provides sandboxing by default; AppBoxes can add Bubblewrap, AppArmor, or Firejail confinement; and Distrobox isolates development environments within user-owned containers.
- No package manager conflicts: Traditional package managers scatter files across the filesystem and create dependency conflicts over time. The rootless model eliminates this.
App Model Architecture
- NX AppHub is a software manufacturing system for users using a reproducible, declarative, rootless model tailored to Nitrux.
- Flatpak provides a universal application format for mainstream software.
- Distrobox provides rootless, containerized environments for workflows that require traditional package managers.
Information
For a GUI that exemplifies this model, see Software Management → Graphical Software Manager (AppFinder).
