Design and project goals
Not everything is set in stone yet, but:
- Keep it simple.
- Stable release model with binary packages and a ports system (Plan9 mk-based).
- Statically linked, using musl-libc.
- Sane simple base utilities, see: sbase, ubase, hbase etc.
- Package management using mount overlays (aufs), but mostly FHS compatible.
- UTF-8 locale.
- libressl linked.
- No Native Language Support (NLS).
- No systemd and rabbit hole.
- No binary blob drivers (except linux-firmware).
- Separate /emul namespace for legacy or binary-blob software (skype, wine, robot-unicorn-attack).
Software we use or have developed for our core system
- sbase: suckless unix tools.
- ubase: suckless linux base utils.
- hbase: programs to complement sbase and ubase, mostly based on heirloom.
- sinit: /bin/init.
- smdev: device hotplug, replacement for udev for most purposes.
- svc: service management, written in POSIX sh.
- mkbuild: Plan9 mk-based build system, used by ports.
- sdhcp: simple dhcp client.
- ports: Plan9 mkfiles to build software packages, uses mkbuild.
- pkgtools: simple package management tools.
- ns-tools: suckless namespace management tools.
- scron: simple cron daemon.