Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.