A human-first Unix approach.
- “Do one thing, and do it well” ~ Unix philosophy
- Portability
- ELF as executable format for cross-platform compatibility
- Hints, failsafes and interactive friendliness in interactive programs
- A framework1 for several common computing tasks
- WebAssembly support2 (?)
Prerequisites
- Rust toolchain (
nightly
)x86_64-unknown-none
targetrust-src
component
cargo build -p humix
Prerequisites
cargo bootimage -p humix
- VGA text mode driver
- Kernel buffer (kprint)
- CPU exception handling
- Kernel panics
- IRQs
- Serial driver
- Syscalls
- Memory management
- Virtual filesystem
- Device filesystem (devfs)
- Filesystem (enlightenfs, efs)
- Threading
- Process management
- File descriptors
- Standard streams
- TTY
- Graphics
- Sound
- Networking
- Jails3
- Standard library
- Init system
- Shell (renaissance shell, rsh)
- System administration utilities (su, useradd, etc)
- Filesystem utilities (fsck, mkfs, etc)
- Core utilities (ls, rm, etc)
- Installer TUI
- Display server
- Window manager
- Audio codecs
This list will be updated from time to time.
-
The kernel is still very hardwired to the x86 platform. It should be further abstracted to allow for portability. (fixed in ce079bc)
-
The VGA text mode buffer does not scroll yet. After the maximum of 25 lines in the buffer has been reached, further printed text won't be shown on the screen and will overflow beyond the video memory at some point. (fixed in b8790de)
Kees van Voorthuizen (@keesvv)
Footnotes
-
A set of libraries intended for standardizing a certain task, such as text manipulation, shell behaviour or filesystem browsing. I will elaborate further on this goal in the near future. ↩
-
This would allow for simulating the inner workings of the kernel in the browser. Could be a fun replacement for webnix. ↩
-
Being able to put restraints on programs and isolate them into separate environments. ↩