Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Repo map

PathRole
flake.nixOutputs: packages.* (ccvm, guest artifacts, docs), checks.*, homeModules.ccvm.
lib/mkccvm.nixThe builder. Evaluates the guest NixOS system, then bakes its boot artifacts + scalar config into the wrapper via builtins.replaceStrings @TOKENS@.
lib/defaults.nixDefault values for the builder’s config (memory, cores, the package, etc.).
lib/ccvm-context.mdThe built-in extraClaudeMd blurb staged as the guest’s ~/.claude/CLAUDE.md.
wrapper/ccvm.shHost wrapper template (the @TOKEN@ placeholders). Generates completely ephemeral SSH keys, writes the seed, boots QEMU headless, ssh -tts in, traps cleanup.
guest/default.nixThe microVM NixOS guest (tmpfs root, ro squashfs /nix/store).
guest/launcher.nixTwo units. ccvm-seed.service (root oneshot, Before=sshd) installs the pinned host key + authorized_keys and does every 9p/overlay mount. ccvm-guest-launch is the unprivileged sshd ForceCommand that just cds to the workspace and execs claude (or zsh).
guest/sshd.nixHardened sshd: key-only, no root, single ForceCommand.
modules/home-manager.nixprograms.ccvm.* options → installs the command.
docs/This mdBook site (book.toml, src/). Built by packages.docs, gated by checks.docs.
tests/host.sh (CI host-side guarantees via the CCVM_DRYRUN hook), boot.sh+stub-claude.sh+boot.nix (local full-boot smoke test), clipboard.sh (image-only bridge), egress.sh, default.nix (wires the checks into nix flake check).