- Rust 52.4%
- C 46.4%
- Lua 1%
- Assembly 0.1%
MonkeOS logo
MonkeOS
MonkeOS is an experimental x86_64 operating system written mostly in Rust, built around a no_std kernel.
It started as a project to test ideas and push my limits, and it slowly turned into a full system with its own runtime, desktop, and tooling. Everything lives in this repo: boot, kernel, drivers, filesystem, desktop, apps, ports, and ISO build system.
Current version: 1.6.0
MonkeOS is not Linux-based. Some compatibility exists where it makes sense, but the goal is still to build a standalone OS with its own identity.
Note
MonkeOS is discontinued. due to maintainance pressure and fundemental issues with its development and architecture . i have decided that it will be archived. this still remains a project that i made for learning !. and i will make sure to improve from this experience
- David Dull
What it does
MonkeOS boots through GRUB, initializes the kernel, mounts its filesystem, shows a text login, and then switches into a graphical desktop session.
Right now it includes:
- a full login → desktop flow
- a custom desktop environment and windows manager (MoonLand)
- an integrated Wayland stack
- a shell-driven workflow
- native apps + Lua-based GUI apps
- a custom filesystem (MonkeFS) through a VFS layer
- TinyCC and Lua built into the system
- basic networking and services like
httpd
Desktop & Wayland
The desktop is fully in-tree and designed specifically for MonkeOS.
You get:
- movable, resizable windows
- terminal sessions
- notifications and basic UI components
- bundled apps like Files, Settings, Task Manager, Doom, etc.
Wayland support is real and based on upstream components:
- libwayland
- wayland-protocols
- libinput
- libxkbcommon
- pixman
- wlroots
To make that work, the OS implements things like:
- UNIX sockets
- epoll / eventfd / timerfd
- SCM_RIGHTS
It’s not perfect yet, but it’s no longer a mock or stub. It actually runs.
FAQ
-
is MonkeOS linux based
no. MonkeOS is not associated with linux. no linux code was used or even referenced in the codebase. MonkeOS is completely from scratch and independent from any other infostructures as such
-
does MonkeOS apply age verification that's required for it to be legally allowed to be distributed in some states ?
recently a new law in some states such as California (AB 1043) that requires systems to add age verification. MonkeOS is against that idea. and everyone anywhere has rights to use it. even if it meant distribution problems in specific states in brazil and america such as california.
-
why pronounce MonkeOS as a Hybrid OS
MonkeOS is pronounced as a Hybrid OS because it mixes different concepts from different ideologies and os family's. it might be compatible with unix while being posix compliant to a limit in the same time. that's what hybrid means in current context.
-
Is MonkeOS security focused ?
MonkeOS is not security focused. it does support cryptography to a limit and some actions encryption and decryption but MonkeOS is focused on user facing practical usability then focusing on security. security will come next once MonkeOS is ready for it.
-
was MonkeOS developed using any assistance or agentic tools ?
MonkeOS is a handwritten project that was made to test limits of what's possible for an os developed in rust. since it serves the purpose of plainly being a research/experimental project more than something focused on production level usability . MonkeOS is serious about purity and correctness over shortcuts that will later cause trouble for the maintainers.
-
why does MonkeOS focus on porting other software and infostructures?
because MonkeOS is focusing on being compatibility os. it aims to run real life reliable infostructures while maintaining same speed of development and to also avoid painful parts.
-
when was MonkeOS developed and who is the original author & why was it made in the realistic sense
MonkeOS development started in 2025 - 4 - 7. although MonkeOS is multi maintained. the original author and lead maintainer is David Bascks Dull (aka coops). MonkeOS was developed under a simple phillosophy and ideology. practical usability while maintaining fast progress and correctness through monolithic designs over slow academic designs and common micro kernel designs in the hobby space.
-
what extent did MonkeOS reach near daily usability compared to other hobby oses
MonkeOS focuses on as much practical usage and fast progress with momentum. not full usability but practical enough to be tolerated. compared to other hobby oses MonkeOS strengths are it's monolithic practical design. it's focus over compatibility for infostructures that pushes it further into real world usability. and while balancing between being tightly coupled and ridiculously loosened.
Kernel & core systems
Under the hood, MonkeOS currently has:
- GRUB + Multiboot2 boot
- framebuffer console + serial logging
- memory management and virtual memory
- process and thread tracking
- a timer-based scheduler
- VFS with MonkeFS and
/proc - early networking support
What works
At this point, the system is actually usable for testing and development.
- boots reliably
- reaches desktop
- runs apps in windows
- shell works
- filesystem works
- Lua scripting works
- TinyCC works
- Wayland stack is integrated
What doesn’t (yet)
Let’s not pretend it’s finished.
- graphics are still mostly software-rendered
- QEMU is the main environment
- hardware support is limited
- POSIX/Linux compatibility is partial
- ELF support is good enough for targeted ports, not everything
- Wayland works, but not all apps will run
- audio needs more work outside QEMU
This is still an experimental OS, not something you daily drive.
Build
Initialize submodules:
git submodule update --init --recursive