Skip to main content
Close Search
Nitrux — #DisruptiveByDesign — Official WebsiteNitrux — #DisruptiveByDesign — Official Website
search
Menu
  • x-twitter bluesky facebook youtube github instagram telegram mastodon threads email
  • 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

Language Stratification

2 min read

38 views

Nitrux follows a deliberate language stratification model when developing native components. This model reflects the system’s architectural priorities and ensures that each platform layer uses the language best suited to its role and responsibilities, based on architectural weight, performance sensitivity, and system depth.

This approach improves maintainability, preserves performance where it matters most, and keeps system components aligned with their intended scope.

The three primary languages used for Nitrux-developed components are:

  • C++
  • Python
  • Shell Script

Each occupies a distinct layer in the system.

Architectural Layers

Performance-Critical Core: C++ defines the performance-critical layer of Nitrux, where C++-implemented components handle functionality that requires high execution efficiency, predictable behavior, or tight integration with system-level services. These components typically form the structural backbone of Nitrux-specific tooling and subsystems.

Typical characteristics of this layer include:

  • Performance-sensitive workloads.
  • Long-lived system components.
  • Deep integration with operating system facilities.
  • Native user interface applications built with MauiKit and Qt.

Structured Orchestration: Python serves as the platform’s orchestration layer, and we use it for components where clarity and maintainability matter more than raw execution speed. Python keeps complex workflows readable and adaptable while still supporting robust system interaction.

Typical characteristics of this layer include:

  • System tooling and orchestration utilities.
  • Automation tasks and helper services.
  • Infrastructure that coordinates system components.

Lifecycle and System Glue: Shell scripting sits in the lifecycle layer when simplicity is required. These scripts typically manage system initialization, lifecycle hooks, packaging workflows, and other tasks that interact closely with the underlying environment.

Typical characteristics of this layer include:

  • Boot and initialization logic.
  • Lifecycle and system integration hooks.
  • Packaging tooling and system maintenance tasks.

Graphical Interfaces

While system components follow the language stratification described above, graphical interfaces follow a separate rule:

  • All native graphical interfaces specifically built for Nitrux should use MauiKit.

MauiKit provides a consistent interface framework across the platform and lets applications integrate naturally with the Nitrux environment, ensuring graphical tools remain visually coherent and aligned with the system’s design principles. In this case, “native” is a strict architectural label (not a quality judgment).

Updated on 4 October, 2026
Previous - System ArchitectureInit SystemNext - System ArchitectureWorkspace Environment
Close Menu
  • Documentation
  • Bug Tracker
  • Blog
    • Tutorial
    • News
    • Other
    • Blog Archive
      • News and Tutorial Archive
      • Maui Archive
      • ZNX Archive
      • VMetal Archive
      • PNX Archive
  • x-twitter
  • bluesky
  • facebook
  • youtube
  • github
  • instagram
  • telegram
  • mastodon
  • threads
  • email

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