A declarative operating system

Describe the machine.
Build it exactly.
Return any time.

noxi OS is a NixOS-derived system designed to evaluate, build, activate and roll back itself with noxi, a Rust Nix engine checked byte for byte against CppNix. One configuration drives the CLI, the TUI and the NixBox desktop app, from a single laptop to a fleet.

$ cargo install --path crates/noxi-cli --locked
root@noxi 00:00:00
The whole system

One source of truth,
from boot to fleet.

Your configuration, written in Nix, defines persistent state. Every interface proposes typed changes, NixBox plans them against locked inputs, noxi builds them, and NixOS activation applies them as a new generation you can always leave.

InterfacesSpecified
CLITUINixBox GUI on GPUI
Three front ends that present the same plan and apply the same validation. Presentation differs, semantics never do.
NixBox operationsSpecified
typed requestscandidate plansprovenanceauthority
Resolves intent against the target's locked inputs and persists accepted changes as configuration source before activation.
noxi enginePreview
evaluatorstorebuilderdaemonflakes
The Rust implementation of Nix semantics, qualified against CppNix 2.35.2. One writer per store.
Generations and snapshotsPreview
noxi systemnoxi snapshotrollback
Each rebuild records source, lock, closure, actor and outcome, so a rollback restores the configuration as well as the generation.
BootSpecified
systemd-bootLanzaboote Secure Bootrecovery
Two explicit UEFI choices at install. Secure Boot is never reported active until the system boots with enforcement on.

Configuration first

Spec

Forms, source editor and package search all produce the same typed change. Nothing changes at runtime first and gets reverse-engineered later.

Snapshots

Preview

A journal ties every generation to the source and flake lock that built it, plus who asked and what happened.

Scoped app builds

Spec

Add or remove an app for a user, machine or project without building a whole system generation.

Dev environments

Spec

A built-in devenv equivalent on noxi env: tools, shells, tasks and supervised servers. Flakes keep working unchanged.

Secure Boot

Spec

Lanzaboote signing, key enrollment and recovery, checked before the installer writes a single block.

Fleets

Spec

Machines, roles, clusters and service topology described once, then expanded through a reviewed change.

Live

Watch the system think.

Interactive sketches of how noxi OS behaves. The store path below is computed for real; the rest illustrate specified behavior.

One plan, three interfaces

The CLI, TUI and NixBox GUI submit the same typed request and render the same evaluated plan, including what it will touch.

Design preview
requestAdd package firefox
scopeuser, home configuration
revisionnixpkgs e94cb15
authoritycurrent user, no root

Every package has an exact address

Type a name and contents. This computes the store path builtins.toFile returns: SHA-256, the fingerprint, the 20-byte fold, and Nix's own base-32.

Live

Generations

Click to roll back

Every rebuild is a generation. Switching is a pointer move, never a rewrite.

Rebuilds that explain themselves

One operation, eight ordered phases, structured events. No invented percentages, no walls of text.

Streaming

Build graph

Derivations realise in dependency order. Substitutes come from cache, the rest build in the sandbox.

0 / 0
built substituted building pending

A fleet is one configuration

Roles, sites and service relationships are declared once. Updates roll out in bounded waves that drain, switch and verify each member, and hold quorum for the control plane.

Design preview
control plane worker edge draining switching converged
Target generationfleet-12
Converged0 / 0
Wave0
Max unavailable10%
Control plane quorum3 / 3
The engine underneath

Compatible is a measurement,
not a promise.

noxi OS stands on an engine that must first replace CppNix 2.35.2 on existing systems. Evaluator output, derivation bytes, NAR archives, store schemas, protocol exchanges and real NixOS rebuilds are compared on the same inputs. Failures and unrun cases stay on the page.

Evaluator

Copied CppNix language cases that match both goldens and live CppNix 2.35.2 output.

0 of 467 cases match 73 diagnostic mismatches 1 disabled case 116 builtins inventoried

Worker protocol

Normalized daemon exchanges compared at every minor version the reference accepts.

1.18
21minor versions
1.1837 dispatch handlers1.38
Direction

Engine first.
Then the whole system.

An image that merely boots with noxi installed is not the goal. noxi OS is done when an installed machine can evaluate, build, activate, reboot into and roll back its own generations. New behavior stays additive throughout.

Now

noxi engine

A drop-in replacement for CppNix on existing systems: store, daemon, flakes and NixOS rebuilds through the declared matrix.

Next

noxi OS

Installer, Secure Boot choice, and a system that rebuilds and maintains itself with the qualified engine.

Then

NixBox

CLI, TUI and a GPUI desktop app on one operation layer, with scoped app builds and native dev environments.

Later

Fleets

Homogeneous and heterogeneous machines, Kubernetes clusters and service topologies, expanded by a reviewed change.

Start with the engine

Your machine,
described once.

Get the source