35 lines
1.7 KiB
Markdown
35 lines
1.7 KiB
Markdown
# 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.
|