MixOS
An agent-operable computing system
A Linux userland where every app is a service, every service speaks one message bus, and Mix is the shell. Legible, modifiable and reconstructible by design, so people and agents can run the same machine the same way.
One system, desktop and server
One repository, one Cargo workspace, one system binary. What a machine runs is chosen at install time.
MixOS is written in Rust. Desktop, server, command-line and library code live in one public repository, and each shipping component declares the install profiles it belongs to. The shell and every headless daemon ship as one binary, mix; each daemon is a symlink that picks its role from the name it was started as.
Desktop
A Wayland compositor, a terminal with tabs and split panes, a shared-document editor, a twin-pane file manager, a screenshot tool, preferences and a task manager. The apps are built on egui and wgpu.
Desktop componentsServer
Headless nodes run the same mix binary. The Bus broker peers nodes into a mesh, and monitord samples each node's CPU, memory, disks, network and processes so its load can be read from anywhere on the mesh. The mail, web, blob and DNS programs have not moved into this tree yet.
Built to be driven
Anything a person can do in a MixOS app, an agent can do over the Bus.
One Bus
The noded broker handles service registration, discovery, routing, subscriptions and mesh peering between nodes. Every app and daemon is a service on it.
Engine-first apps
An app's behaviour is a set of named commands. The window, the command line and the Bus invoke them the same way.
Drive commands
Every toolkit app also answers the same drive commands: read the widget tree, click, type, press keys, scroll, move the window and take a screenshot.
Mix, the shell
Mix is the interactive shell and the scripting language. Its manual is built into the binary: mix man TOPIC needs no checkout and no network.
Edit together
The editor works over a shared edit service, so people and agents edit one document at once and see each other's carets and changes live.
Privilege without sudo
hostd makes privileged host changes through closed, typed commands. Each change is checked, recorded and reversed if it fails.
Try it beside your own desktop — at native speed
Keep your desktop on VT1. Run MixOS on VT5. Flip between them with Ctrl+Alt+F1 and Ctrl+Alt+F5.
MixOS arrives as a small signed image that runs as a systemd-nspawn machine with its own virtual terminal. Both desktops keep running, and MixOS drives the real GPU, keyboard, mouse and speakers. There is no hypervisor, virtual GPU or remote display in the way.
Native, not emulated
VirtualBox, virt-manager, Incus and Proxmox show a guest desktop in a window through emulated hardware. A VT gives MixOS the whole machine, so what you try is what you get.
Beside, not instead
Nothing replaces your desktop and nothing is repartitioned. One command adds MixOS on its own VT, and one command removes it again.
Parts you already have
Kernel virtual terminals, DRM handover, seatd and systemd-nspawn are already on Ubuntu, Fedora, Debian, Arch, openSUSE and Mint. At most you add one package.
Know before you go: it needs sudo, and it is not a sandbox, because the image gets your real input devices and GPU. Intel and AMD graphics come first. Status: it runs daily on the developers' machines. The download and the one-command installer are being built.
Read more
The manual grows with each component. This site describes the current main branch.
Try it beside your desktop
How MixOS runs on its own virtual terminal next to the desktop you already use, and what to know first.
ReadDriving apps over the Bus
How an agent drives a native app through Bus commands, from the widget tree and injected input to window commands and captures.
ReadComponents
Every component, with its kind, install profiles, source and page.
BrowseThe Mix language
The reference manual for Mix, one page per topic. The same pages ship inside the binary as mix man.
Docs, decisions and specs
Guides, indexes, the public decision records that govern the tree, and the specifications.
OpenSource on GitHub
The whole tree, dual-licensed MIT or Apache-2.0. A component enters it only when it builds and passes its tests there.
View