The package tree for xbm, the NyxOS package manager. Each package here is
compiled inside a running NyxOS by its own cc (a ported, self-hosting TinyCC)
and installed to /mnt/bin.
This is the modular half of the NyxOS distribution: the base OS ships a small set of packages in its initramfs, and this tree is where the rest live and grow.
A package is a directory under packages/ containing its source and a
recipe:
packages/hello/
├── hello.c # the source, built with the in-OS cc
└── recipe # metadata
The recipe is a few key: value lines:
name: hello
source: hello.c
bin: hello
| key | meaning |
|---|---|
name |
package name (xbm install <name>) |
source |
the C file to compile |
bin |
the installed binary's name in /mnt/bin |
url |
(optional) an http:// source to fetch before building |
xbm search # list available packages
xbm install greet # compile + install with the in-OS cc
greet # run it (installed to /mnt/bin, on the PATH)
xbm remove greetxbm install can also pull a source over HTTP when a recipe carries a url: field —
the path toward installing straight from this tree.
- Add
packages/<name>/<name>.c— freestanding C against the NyxOSlibc.h. - Add
packages/<name>/recipewithname/source/bin. - Keep it small and self-contained; it must build with the in-OS
cc.
| Package | What it does |
|---|---|
greet |
minimal sample; runs by bare name from /mnt/bin |
hello |
sample that prints and returns an exit code |
ncc |
a tiny C-adjacent demo built in-OS |
pwgen |
strong random passwords / keys from the kernel CSPRNG (unbiased, rejection-sampled) |
cowsay |
the classic ASCII cow that says your message |
unimatrix |
falling "Matrix" glyph rain in the terminal (bounded frames, seedable) |
nbase |
show a number in decimal, hex, octal & binary (base auto-detected from 0x/0b/0o/0 prefixes) |
morse |
International Morse code encoder / decoder (-d), byte-exact round-trip |
caesar |
Caesar / ROT-N letter-shift cipher; N defaults to 13 (ROT13), negative & mod-26 |