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 |
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 switchruns 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.