Skip to content

Templates

Build & list

Build manifest-backed templates and inspect the local mvm registry.

Build from the current project:

Terminal window
mvmctl machine build

Or point at a project directory or manifest file:

Terminal window
mvmctl machine build --flake ./my-worker
mvmctl machine build --flake ./my-worker/mvm.toml

mvmctl machine build discovers mvm.toml or Mvmfile.toml, runs the Nix build through the builder VM where Linux build work belongs, and stores artifacts in a local slot keyed by the canonical manifest path.

Terminal window
mvmctl machine build --force
mvmctl machine build --update-hash
mvmctl machine run --flake . --cpus 4 --memory 2G
mvmctl machine checkpoint create my-machine --class vm-full
mvmctl machine build --json

Snapshot builds are backend-specific. Do not present snapshot availability or latency as universal unless the backend and readiness boundary are named.

Terminal window
mvmctl manifest ls
mvmctl manifest ls --json
mvmctl manifest info
mvmctl manifest info ./my-worker --json
mvmctl manifest verify

Use mvmctl machine ls, mvmctl machine inspect, mvmctl machine logs, and mvmctl machine stop for running VMs. Use mvmctl manifest * for build slots and registry state.

Terminal window
mvmctl machine run --manifest .
mvmctl machine run --manifest ./my-worker -- uname -a

If there is no built revision for the manifest, mvmctl machine run should fail with a hint to run mvmctl machine build.

  • Build Linux artifacts through the builder VM.
  • Treat --force as an intentional overwrite of the current slot revision.
  • Use manifest verify when moving artifacts between hosts or debugging cache state.
  • Keep mutable registry inputs out of production examples unless they are labeled local-only.