Skip to content

Build & list

Build from the current project:

Terminal window
mvmctl build

Or point at a project directory or manifest file:

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

mvmctl 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 build --force
mvmctl build --update-hash
mvmctl build --vcpus 4 --mem 2G --data-disk 8G
mvmctl build --snapshot
mvmctl 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 ls, mvmctl info, mvmctl logs, and mvmctl down for running VMs. Use mvmctl manifest * for build slots and registry state.

Terminal window
mvmctl up
mvmctl exec ./my-worker -- uname -a

If there is no built revision for the manifest, mvmctl up should fail with a hint to run mvmctl 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.