Self-sovereign NixOS VM stack for agentic coding and privacy tasks.

No masters. Only master branch.

Allod

An allod is land held in absolute ownership — no rent, no fealty, no master.

Allod is a self-sovereign NixOS stack: one human owner, a bare-metal host that provisions disposable virtual machines, a self-hosted forge, and AI agents working as first-class citizens inside those VMs.

The key architectural choice is the VM isolation model. Each project type gets its own VM that serves as a declarative development environment and a cage to contain your agents. VMs are accessed using ssh keys encrypted to the root of trust: a single key on the hypervisor, stored outside of the code repository. The same architecture is also used to create privacy sandboxes for sensitive online activities.

The code is the architecture. Fork it, audit it, run it on your own hardware, and choose your forge, agents, and model routers.

Start here

On a fresh NixOS install, log in and run:

curl -O https://forge.anarch.diy/allod/deploy/raw/branch/master/getting-started.sh
bash getting-started.sh

Reboot, log in again, then:

provision-vm allod-dev
provision-vm forge
bash ~/work/allod/deploy/getting-started.sh --forge

The deploy README explains each step.

Why

Coding agents are powerful because they touch everything: repos, shells, tokens, build systems, notes, and private context. Unlike container-based approaches, Allod treats the VM as the primary security boundary while keeping performance high with direct KVM/QEMU hardware acceleration. This design removes the host kernel from the agent's attack surface, eliminating entire classes of security exploits.

  • Reproducible development environments
  • Project-scoped agent cages
  • Secrets and identity encrypted and stored in your own repo fork
  • Agent harnesses, git-tracked memory and planning docs, and focused CLI tools form the basis of the software factory
  • Interchangeable integrations: GitHub or Forgejo, local or remote models, one agent harness or another.

Architecture

Allod is declarative infrastructure split by ownership. Public framework repos describe how the system works. Consumer-owned inventory, identities, and secrets decide what exists.

Layer What it owns
Nexus / hypervisor The physical NixOS host, libvirt/QEMU, provisioning, rebuilds, key rotation, and VM lifecycle.
Dev VMs Agent-ready coding cages with workspace clones, build tools, agent harnesses, and project-specific state.
Privacy VMs Isolated environments for Tor and privacy-sensitive work, designed without Forge access or durable project state.
Service VMs Persistent self-hosted services on the hypervisor: Forgejo today; runners and LLM routers planned.

Integrations

Allod does not require Forgejo. You can use GitHub, a hosted forge, or a self-hosted Forgejo instance. Self-hosted Forgejo is highly recommended for sovereignty, and the stack ships one: a Forgejo service VM on the hypervisor, bootstrapped by one command, with the dev VM cloning from it.

Forge hosts are integrations, not foundations. So are coding agents and model routers.

Agent context

Allod keeps agent work inspectable and portable. The agent harness runs inside the VM boundary; durable instructions live in the git-tracked memory repo; plans, review prompts, and project direction live in strategy.

Trust model

Public repos describe machines. Private keys activate them.

A single host identity is the root of trust: it can SSH into guests and decrypt age secrets. VM SSH host keys are generated on the host and injected during provisioning, so agenix can decrypt VM secrets on first boot without manual post-install state.

Repos at a glance

Repo Purpose
archetypes VM framework: composes each machine archetype (dev, privacy, hypervisor) from framework modules (vm, nexus), the profiles definitions, and inventory/secrets data.
profiles Example machine profile definitions — which NixOS and Home Manager modules compose each machine, keyed by archetype; redirectable to an operator's own repo.
deploy Thin composition-root template that pins archetypes and redirects the profiles/inventory/secrets data inputs; carries the composed-layer canary.
vm Shared QEMU guest, disk, NixOS, and Home Manager modules.
nexus Host framework and provisioning lifecycle tools.
inventory Machine specs, VM sizing, networking, platforms, and repo registry.
secrets Encrypted secrets, identities, credential inventory, and git policy data.
tools Workspace sync, Forgejo, flake, and protected-git workflow CLIs.
memory Version-controlled workflow memory for coding agents.
strategy Project direction, development plans, and review prompts.

Status

Allod is active infrastructure, not a polished appliance. The public repos are being split, licensed, and documented so the stack can be forked, audited, and adapted without inheriting private machine state.

Start with archetypes to see how the pieces assemble, and profiles for the example machine definitions it composes.

cli tools for the allod stack
Updated 2026-10-22 06:07:13 +01:00