Introduction
nixi is a monolithic operating system written in rust for the x86_64 architecture. nixi is not intended for professional use, rather it’s meant for hobbyists to experiment and have fun, professional grade operating systems don’t fit well for this.
Moreover, nixi aims to keep its codebase simple and bare bones. A future goal is to remove all dependencies as dependencies are fundamentally against the goal of nixi which is to be built from the ground up and not always using the official way. Notably, the UEFI crate is holding us back here.
Roadmap
Our roadmap is always evolving, currently we are in early development stages so the milestones are not that unique. As time goes on the finished milestones will be removed in favor of new milestones.
- Memory management (PMA and chunk allocator).
- Round-Robin scheduler (in the future: multiple different scheduler algorithms).
- 4-level paging from scratch.
- Fast syscalls with syscall instruction.
- Basic graphics (VGA).
- TTY/PTY system.
- TCP/IP stack.
- Display server.
- Support for mapping shared memory pages between processes.
- Far into the future: SDR for WiFi, Bluetooth and other fun RF stuff
Contribution
All contributions are happily accepted given they follow our terms:
- Code must not be generated by an LLM (Codex, Claude Code, etc. is NOT allowed).
- Code must be compatible with the MIT license.
- Code must be formatted with rustfmt to ensure universal code-formatting across the entire project.
- Large changes must be split up into multiple commits with clear and understandable commit messages.
License
nixi is licensed under the MIT license.
Notable mentions
nixi supports x86_64 not “x64”, “x64” is a made up architecture-name from microslop and doesn’t have any real meaning.