Bash · Lima 2.0+

Disposable dev VMs.
Zero host footprint.

A small Bash wrapper around Lima. Spin up a clean VM, run your own setup scripts, build whatever you want, then throw it away. Nothing from your machine is mounted into the guest.

Get started → Read the docs
$ git clone https://github.com/eshlox/dvm.git && cd dvm && ./install.sh

Built to stay out of your way

Sensible, secure defaults. Everything project-specific lives in scripts you own.

No host mounts

By default nothing from your machine is shared into the guest. Your files stay yours.

Your setup, your scripts

Provisioning is plain Bash you write and review. Tool installation lives in setup scripts, not in DVM.

Checked before they run

Setup scripts are ownership- and permission-checked before DVM will execute them.

Per-VM dev user

Each VM gets its own user and a tidy ~/code/<vm> workspace, isolated per project.

Dry-run first

DVM_DRY_RUN=1 prints the Lima argv and setup order without touching Lima at all.

Disposable by design

One command to build, one to destroy. Break things freely, then start fresh.

What developers are saying

These are completely made up, because nobody real has said anything yet. Want to be the first? Tell me what you think.

“I broke everything inside the VM, deleted it, and felt absolutely nothing. This is the closure my Dockerfiles never gave me.”
Dependency H.Recovering YAML Engineer
“My laptop fans haven't spun up since I switched. My cat is unsettled by the silence.”
A. NonymousStaff Procrastinator
“Finally, a tool that respects boundaries better than my last three side projects did.”
Jane Doe-NotexistPrincipal Vibes Architect
“I dvm rm'd production. Kidding, there is no production. That's the entire point.”
Seg FaultCTO of a company I invented for this quote
“I used to pipe curl straight into sudo bash. Now I do it inside a VM I can throw away. Personal growth.”
Rm DashrfSenior Move Fast Engineer
“My threat model used to be 'it works on my machine'. Now my machine is disposable, so checkmate.”
Bobby TablesDatabase Enthusiast
“I ran a sketchy install script with 4,000 stars and zero reviews. The VM died so my laptop didn't have to.”
Yolo DrivenLead Optimist
“Security asked where I run untrusted code. I pointed at a VM I delete every afternoon. They wept. Happy tears, I assume.”
Patch TuesdayCompliance Avoider
“I no longer read the install script. I just make sure it can't reach my SSH keys. We call this maturity.”
Copy PasteStack Overflow Archaeologist
“I gave node_modules its own quarantine wing. It has earned nothing less.”
N. P. MDependency Hoarder
“It's like a hotel room for my code. I trash it, check out, and leave no forwarding address.”
Vim ExiteerModal Editor Survivor
“Spun up a VM to test one regex. Worth it. The regex still doesn't work, but my host is pristine.”
Greedy MatchBacktracking Specialist
“I containerized my containers and then put them in a VM. My therapist and I are working through it.”
Kube NettesOver-Engineer in Residence
“Zero host mounts means zero 'why is there a node_modules in my home directory' moments.”
Tilde SlashFilesystem Janitor
“I finally have a sandbox that isn't just /tmp and a prayer.”
Temp FileReckless Tester
“It boots faster than my standup ends, and is roughly as disposable.”
Daily ScrumAgile Skeptic
“I read the whole man page. Then I read it again. I have no notes. I am shaken.”
RTF ManualDocumentation Believer
“My git history is a crime scene, but at least my host machine is clean.”
Force PushFriday Deployer
“Spin up. Break stuff. Delete. Repeat. It's basically meditation.”
Ohm ResolverMindful Engineer
“I trust nothing and I mount nothing. We are the same.”
Air GapParanoid Architect
“Ten out of ten. Would dispose again.”
Five StarsProfessional Reviewer
“It does one thing and flatly refuses to do my taxes. Respect.”
Scope CreepFeature Requester
“I came for the isolation. I stayed because I forgot I had other tabs open.”
Lost FocusContext Switcher
“Faster than reading the Dockerfile I copied from a 2019 blog post.”
Cache HitLatency Connoisseur
“My VM has better boundaries than my calendar.”
Always AvailableBurned Out Lead
“I store secrets in env vars, in the VM, which I then delete. The secrets get deleted too. Nobody warned me.”
Plain TextSenior Oops Engineer
“I used to test in prod. Now I test in a VM that merely thinks it's prod. Therapy is going great.”
Hotfix HankIncident Commander
“My password is still 'password', but the blast radius is one disposable VM now.”
Auth ZeroIdentity Crisis
“I disabled the firewall, SELinux, and my better judgment. The VM forgave all of it on delete.”
Setenforce ZeroHardening Skeptic
“Someone said 'supply chain attack' and I said 'not my host's problem anymore'.”
Lockfile Larrynpm install --force
“I ran the malware in the VM on purpose. For science. The science was: yep, that's malware.”
Curious GeorgeReverse Engineer, Allegedly
“I don't sanitize inputs, but I do sanitize my entire VM by deleting it. Net positive.”
Little BobbyReturning Character
“It's the only thing in my workflow that does exactly what the README claims.”
Honest ReadmeRare Specimen
“I named my VMs after my regrets. Spinning up 'the-rewrite' was unexpectedly cathartic.”
Tech DebtInterest, Compounding
“My CI went green for the first time because I tested in a clean room before pushing.”
Flaky TestReformed
“I gave up on perfect dotfiles. Now every VM gets the precise chaos it deserves, freshly.”
Chez MoiConfig Drifter
“It quietly logs everything and shows me a checkmark. It is more emotionally available than I am.”
Spinner LoadingAsync Person
“I uninstalled my anxiety and reinstalled it as a VM I can delete.”
Heap OverflowMemory Leaker
“Works on my machine, and also on the disposable machine, which is the only machine I trust now.”
It CompilesShip It Advocate
“I read 'no host mounts' and a single tear of joy rolled into my mechanical keyboard.”
Cherry MXClack Evangelist

* No developers were consulted in the making of these 40 testimonials.

Spin up. Build. Throw away.

Four commands from nothing to a clean, disposable development VM.