Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

NyxOS ports

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

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

Using them in NyxOS

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 greet

xbm install can also pull a source over HTTP when a recipe carries a url: field — the path toward installing straight from this tree.

Contributing a package

  1. Add packages/<name>/<name>.c — freestanding C against the NyxOS libc.h.
  2. Add packages/<name>/recipe with name / source / bin.
  3. Keep it small and self-contained; it must build with the in-OS cc.

Current catalogue

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

About

The xbm package tree for NyxOS — programs compiled in-OS by its own cc

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages