nbos

nbos

https://git.tonybtw.com/nbos.git git://git.tonybtw.com/nbos.git

Files

040000 etc-example/
040000 include/
040000 pkgs/
040000 src/
040000 tools/
100644 .gitignore
100644 Makefile
100644 README.md

Recent commits

4903c64 updated-readme tonybanters 2026-05-10
f0ba53d updated makefile, changed pkgs folder structure tonybanters 2026-05-10
bca4fc3 removed random emacs swap file tonybanters 2026-05-09
4f80616 Initial commit. tonybanters 2026-05-09

View all commits

README.md

scenic

A from-source declarative Linux distribution written in disciplined C23.

Build

make registry
make
sudo ./nb validate
sudo ./nb switch

design choices (subject to change)

  • no daemon. Single-user model. nb switch runs as root, does its work, exits. No persistent process, no IPC, no socket protocol.
  • no custom config DSL for v0.1. The user's config is plain C against the schema. A translator to a friendlier syntax can be added later without changing the core.
  • content-addressed store. /nb/store/<hash>-<name>-<version>/. The hash includes the pkg's deps' store paths transitively, so any change in any dep reshuffles every dependent.
  • generations are immutable; rollback is symlink swap. The previous generation always remains bootable until garbage-collected.