Skip to main content
Close Search
Nitrux — #DisruptiveByDesign — Official WebsiteNitrux — #DisruptiveByDesign — Official Website
search
Menu
  • BlueskyFacebookGithubInstagramMastodonRedditThreadsX TwitterYoutubeTelegram
  • search
  • Menu
Nitrux — #DisruptiveByDesign — Official Website
  • Nitrux Core Concepts 9
    • Distribution Philosophy
    • System Architecture
      • Immutable Architecture
      • Rootless App Model
      • Aesthetic FHS
      • Init System
      • Language Stratification
      • Workspace Environment
    • Workspace Architecture
      • Workspace Compartmentalization
      • Nitrux Workspace Session Manager
  • Getting Started 20
    • System Requirements
      • Hardware Compatibility Validation Layer
      • Minimum Requirements
      • Recommended Requirements
    • Installation Guide
      • Download the ISO
        • ISO for AMD and Intel Hardware
        • ISO for NVIDIA Hardware
      • Validate the ISO
        • ISO Integrity Validation
        • ISO Authenticity Validation
      • Flashing the ISO
        • USB Flash Preflight
        • Rufus (Windows)
        • Ventoy (Windows/Linux)
        • dd (*nix)
      • Installing Nitrux
        • Nitrux Installation Process Information
        • Using Secure Boot with Nitrux
        • Automated Partitioning Options
        • Non-automated Partitioning Options
        • Full-disk Encryption in Nitrux
        • Single-booting Nitrux
        • Dual-booting Nitrux with Windows or other Linux distributions
        • Triple-booting Nitrux, Windows, and other Linux distributions
        • Report Installation Bugs
  • Workspace and UX 10
    • Workspace Applications
      • Default Software Selection
      • Workspace Settings
    • Workspace Defaults
      • greetd + QMLGreet
      • Hyprland
      • Valenz
      • Marina
      • Vicinae
      • QMLogout
      • NudgeOSD
      • Workspace Daemons
        • Default Session Daemons
  • Software Management 4
    • Graphical Software Manager (AppFinder)
    • User Application Delivery
      • NX AppHub and AppBoxes
      • Flatpak
    • Development Environments
      • Distrobox
  • Security and Privacy 6
    • Security Features
      • System Security Features
    • Security Policies
      • Identity and Access Management
      • Kernel and Memory Hardening
      • Network Security and Privacy
      • Session Hardening
      • Bluetooth Security
  • System Performance 4
    • Filesystem Optimizations
      • XFS Features in Nitrux
      • F2FS Features in Nitrux
    • System Optimizations
      • Advanced Memory Management
      • Performance and I/O
  • System Management 5
    • System Administration
      • Nitrux Update Tool System
      • NX Overlayroot
      • Nitrux GRUB Modes
    • System Configuration
      • SB Manager
      • Kernel Boot
  • Troubleshooting 21
    • FAQ
      • Is Nitrux right for me?
      • Is Nitrux eating my RAM?
      • NVIDIA Driver Information
      • Virtualizing Nitrux
      • Support for Other Desktop Environments
      • Flatpak Information
      • Energy Saving Information
      • Virtual Consoles (TTY) Information
      • GRUB Menu Information
      • KDE Wallet Information
      • NetworkManager Information
      • Backups Information
      • General Gaming Information
      • AppImage Information
      • MauiKit UI Framework Information
    • Installation Issues
      • ISO doesn’t boot or System installs, but there's no GUI
      • Can't install due to the MBR partition limit
      • Can't install due to mounted Swap partitions
      • Failure to install due to an issue with rsync error code 11
      • Failure to install GRUB on a computer with multiple storage devices or using the MBR partition table
      • Installation is successful, but user data isn't persistent
  • Resources 2
    • Tutorials
    • Get Involved

Rootless App Model

1 min read

110 views

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).

Updated on 25 October, 2026
Previous - System ArchitectureImmutable ArchitectureNext - System ArchitectureAesthetic FHS
Close Menu
  • Documentation
  • Bug Tracker
  • Blog
    • Tutorial
    • News
    • Other
    • Blog Archive
      • News and Tutorial Archive
      • Maui Archive
      • ZNX Archive
      • VMetal Archive
      • PNX Archive

© 2017-2026 Some Rights Reserved. Made with ♥ by Nitrux Latinoamericana S.C.