c2d08f250ffae9eb2ca9e8849ecf67af08a2ba63
Claude-Vm
A headless QEMU VM with claude-code
installed. Your current directory is mounted into the VM at /workspace.
Uses npins for dependency pinning and classic Nix (no flakes).
Usage
nix build -f . claude-vm
result/bin/claude-vm
result/bin/claude-vm --dangerously-skip-permissions
result/bin/claude-vm --model sonnet
result/bin/claude-vm -p "fix the tests"
All arguments are forwarded to claude-code inside the VM.
Home Manager (Npins)
To add claude-vm as a package in your home-manager configuration using npins:
# In your home-manager config directory
npins add github jpds claude-vm
Then reference it in your home.nix:
let
sources = import ./npins;
claude-vm = (import sources.claude-vm).claude-vm;
in {
home.packages = [ claude-vm ];
}
Development Shell (Direnv)
# First time setup
direnv allow
direnv watches shell.nix and rebuilds the environment automatically.
Updating Dependencies
npins update # update all pins to latest
npins update nixpkgs # update a single pin
What's Inside
- NixOS VM: 4 gigabytes RAM, 4 cores, serial console
- Packages:
claude-code,git,curl,vim - 9p shared directory: host CWD mounted read-write at
/workspace - Auto-login as
claudeuser, claude-code launches automatically
Exit
Press Ctrl-A X to quit QEMU.
Description
Languages
Nix
100%