README.md

July 7, 2026 ยท View on GitHub

stereOS ๐Ÿงƒ

A Linux based operating system hardened and purpose-built for AI agents.
Download | Documentation

Mixtapes

stereOS produces machine images - called mixtapes - that bundle a hardened, minimal Linux system with specific AI agent harnesses.

MixtapeAgent binaryAPI key
opencode-mixtapeopencodeANTHROPIC_API_KEY or OPENAI_API_KEY

Each mixtape appends its agent package to stereos.agent.extraPackages, which adds the binary to the agent user's restricted PATH. The -dev variant of each mixtape includes profiles/dev.nix for local SSH key injection.

System

The stereOS system is minimal in nature with several orchestration daemons handling agent lifecycle and acting as a control plane for agent operators:

  • admin user and group for administrative operations: /home/admin
  • agent user and group for agent to assume: /home/agent/workspace
  • stereosd - stereOS system daemon
  • agentd - agent management daemon

Image formats

FormatBuild attributeOutputUse case
Raw EFIsystem.build.rawstereos.imgCanonical artifact. Apple Virt Framework bootable
QCOW2system.build.qcow2stereos.qcow2Derived from raw via qemu-img convert. QEMU/KVM
Kernel artifactssystem.build.kernelArtifactsbzImage, initrd, cmdline, initDirect-kernel boot (bypasses UEFI/GRUB)
Lambda MicroVM sourcepackages.<system>.<mixtape>-lambda-microvm-sourceDockerfile source zipAWS Lambda MicroVM image creation

The Lambda MicroVM source bundle is not a full stereOS VM image. It packages stereOS userspace into a Dockerfile-based rootfs bundle because AWS Lambda MicroVM images are created from Dockerfile application sources, not custom kernel or disk artifacts.

Distribution (mkDist)

lib/dist.nix:mkDist assembles all formats into a publish-ready directory with zstd-compressed variants (-19 -T0) and a mixtape.toml manifest containing SHA-256 checksums and file sizes for every artifact:

result/
โ”œโ”€โ”€ stereos.img          # Raw EFI disk
โ”œโ”€โ”€ stereos.img.zst      # Zstd-compressed raw
โ”œโ”€โ”€ stereos.qcow2        # QCOW2 disk
โ”œโ”€โ”€ stereos.qcow2.zst    # Zstd-compressed QCOW2
โ”œโ”€โ”€ bzImage              # Kernel
โ”œโ”€โ”€ initrd               # Init RAM
โ”œโ”€โ”€ cmdline              # Kernel command line
โ”œโ”€โ”€ init                 # NixOS stage-2 init path
โ””โ”€โ”€ mixtape.toml         # Build manifest with checksums

NixOS options

stereOS declares two custom options:

OptionTypeDefaultDescription
stereos.ssh.authorizedKeyslistOf str[]SSH public keys for admin and agent users. Useful for development purposes.
stereos.agent.extraPackageslistOf package[]Packages added to the agent's restricted PATH

External dependencies

Flake inputRepositoryProvides
agentdgithub:papercomputeco/agentdservices.agentd NixOS module + overlay
stereosdgithub:papercomputeco/stereosdservices.stereosd NixOS module + overlay
nixpkgsnixos-26.05Base packages
daggergithub:dagger/nixCI engine