Installing
This page gets devvm installed and checked on your machine. Upgrading and uninstalling covers what comes later.
Installing devvm
Run the command for your system:
# Install devvm, and Lima with it
brew trust --formula devvmhq/tap/devvm
brew install devvmhq/tap/devvmThe install script in the Linux tab also works on macOS.
Install devvm one way, with Homebrew or with the install script, but not both (one devvm). The install script needs curl, tar, and sha256sum or shasum, it never needs sudo for devvm itself, and it checks the download’s checksum and signature before it installs anything (Installing and updating). To check the script itself against devvm’s release key before you run it, follow checking the install script. It takes options after bash -s --, as in curl -fsSL … | bash -s -- --yes:
| Option | What it does |
|---|---|
--yes | answer yes to every question |
--version 0.1.0, or DEVVM_VERSION=0.1.0 | install that release |
--no-deps | install devvm only |
--force | install even when Homebrew installed devvm, which leaves you with two copies |
DEVVM_PREFIX=/some/dir | install under that folder instead of ~/.local |
Requirements
devvm runs its VMs on Lima, its default backend. It’s tested on Apple silicon Macs and on Linux on both arm64 and x86_64, but not yet on Intel Macs (Known limits). The last column says whether the install script offers to install a requirement for you.
| You need | To check | To get it | The install script |
|---|---|---|---|
| macOS at Lima’s minimum, on arm64 or x86_64 | sw_vers and uname -m | doesn’t | |
| 8 GiB of memory and 4 CPUs, recommended | sysctl hw.memsize hw.ncpu | doesn’t | |
| Lima at its minimum | limactl --version | brew install lima, or Lima’s install guide | offers it: Homebrew’s when you have Homebrew, otherwise Lima’s latest release into ~/.local |
| OpenSSH 8.7 or newer, for ssh and editors by name (details) | ssh -V | macOS 13’s has it | doesn’t |
Docker Desktop, only for --from with an image only Docker has | docker version | Docker Desktop | doesn’t |
- A smaller machine works too. devvm gives base fewer CPUs and less memory there (size and ports).
- Your first VM needs 8 GiB of free disk space, for the base image, the VM’s own image and the shared tools (free space).
- Everything else goes inside the VMs, including the toolchains, the coding agents and Docker for your projects (docker layer), so you don’t install Claude Code, Codex or opencode on this machine (devvm’s agent store).
- Linux hosts have a few limits, such as no
.gitprotection (Known limits).
Checking what devvm needs
Run devvm doctor:
devvm doctorIt lists everything that devvm’s backend, Lima, needs and doesn’t have, each with what to do, then its warnings, such as a machine with less than the recommended memory, and it fails only when something is missing. devvm never installs anything on this machine itself, and every command that needs the backend checks it first and stops at the first thing that’s missing. What devvm doctor checks lists each check and warning.
When devvm doctor finds nothing missing, you’re ready for your first VM. Before you make it, read staying safe, which lists the habits that close most of what devvm leaves open.