Overview
How Airlock OS separates applications and provides a shared GNOME desktop.
Airlock OS combines the Qubes architecture with NixOS systems. Applications from separate virtual machines (VMs) share a GNOME desktop, while their processes and private data remain in their own VMs. Xen isolates the VMs. Qubes manages them and controls how they communicate.
Airlock’s machine configuration uses Rust so it can share types and logic with the services it configures. The Rusix library translates that configuration into Nix build inputs, allowing NixOS to build the systems from those Rust definitions.
Desktop and VMs
Applications in usr-home appear on the GNOME desktop provided by sys-gui.
Together they provide a familiar NixOS desktop with internet access. You can
use it without first configuring VMs. You can add or reconfigure VMs later,
for example to keep work applications separate from personal applications.
For the default VM list and their responsibilities, see Architecture.
Configuration and updates
usr-assistant provides a workspace for an AI agent of your choice. No agent
is installed by default. Once you have set one up, you can ask it to prepare
configuration changes for review in a GUI controlled by sys-ctrl.
sys-ctrl requires your approval before building the new system. The deployment
plan shows what will change and which VMs need to restart. After you review it,
the agent requests deployment through sys-ctrl. Dom0 checks the approval and
activates the new generation, then the agent verifies the result.
Whole-machine rollback returns dom0 and the VMs to the software and configuration recorded in a retained machine generation. They roll back together, while personal files and application data remain at their current state.
Package storage and private data
Dom0 manages a machine-wide Nix store so VMs can reuse packages. Each VM receives a read-only view of its configured system and dependencies. This lets each VM be kept minimal, with only the software its role needs.
VMs that build software have separate writable build storage. Personal files use private storage. For more information, see the storage overview.
Development status
Current images and setup are intended for development use. Airlock OS has not
established security equivalence with Qubes OS. The development configuration
includes privileged administrative access from usr-assistant.