nip/docs/nexus_targets.md

1.7 KiB

NexusOS Targets

Overview

This document outlines the objectives and technical requirements for NexusOS, a modular and reproducible Linux distribution.

Objectives

  • Modularity: Adaptability to various use cases (Core, App, Desktop, systemd).
  • Reproducibility: Deterministic builds with verifiable hashes.
  • Flexibility: Optional GNU-free configuration for special use cases (e.g., military or security-critical environments).

Runtime Profiles (Examples & Possibilities)

NexusOS employs context-dependent runtime profiles for libc and memory allocators, declaratively managed via .npk files:

Layer libc Allocator Use Case
🧱 Core/Base musl internal malloc Init, Shell, Recovery
🧰 App Layer musl jemalloc/tcmalloc CLI/Server Apps, Multi-threaded Tools
🖥️ Desktop Layer glibc glibc malloc KDE, GTK, Wayland, Graphical Programs
⚙ systemd Layer glibc jemalloc (optional) systemd, journald, logind

Optional: GNU-Free Profiles (Phase 2)

  • libc: musl (GNU-free).
  • Allocator: tcmalloc (performance-focused, GNU-free).
  • Tools: toybox instead of GNU coreutils.
  • Goal: Deterministic, minimalistic builds for security-critical applications.

Technical Requirements

  • Minimal kernel with KSPP hardening.
  • ISO creation using archiso or mkinitcpio.
  • nip tool for package management and verification.

Next Steps

  • Prototype ISO with archlinux-musl and toybox.
  • Development of nip for runtime profile management.