Show HN: Local-First Linux MicroVMs for macOS
35 points
1 hour ago
| 4 comments
| shuru.run
| HN
Shuru is a lightweight sandbox that spins up Linux VMs on macOS using Apple's Virtualization.framework. Boots in about a second on Apple Silicon, and everything is ephemeral by default. There's a checkpoint system for when you do want to persist state, and sandboxes run without network access unless you explicitly allow it. Single Rust binary, no dependencies. Built it for sandboxing AI agent code execution, but it works well for anything where you need a disposable Linux environment.
7777777phil
34 minutes ago
[-]
The agent stack is splitting into specialized layers and sandboxing is clearly becoming its own thing. Shuru, E2B, Modal, Firecracker wrappers.

Earlier this month I wrote about how these layers have very different defensibility profiles and why going monolithic is the wrong call: https://philippdubach.com/posts/dont-go-monolithic-the-agent...

EDIT: Spelling

reply
josephg
22 minutes ago
[-]
What does local first mean in this context? Does it just mean local? Like, the software runs locally?
reply
harshdoesdev
17 minutes ago
[-]
yeah, it just means everything runs on your machine. there are services like E2B, sprites.dev and others that give you sandboxes in the cloud. shuru runs VMs locally using Apple's Virtualization.framework, so nothing leaves your Mac.
reply
Krisso
12 minutes ago
[-]
Why was using straigt containers not enough?
reply
harshdoesdev
6 minutes ago
[-]
containers work fine for a lot of this. shuru is just what felt more natural to me. less config overhead and i wanted to learn by building it.
reply
xrd
46 minutes ago
[-]
What is the benefit of this over lima, for example?
reply
harshdoesdev
39 minutes ago
[-]
Lima can do a lot of what shuru does if you set it up for it. the difference is mostly in defaults and how much you have to configure upfront. with shuru you get ephemeral VMs, no networking, and a clean rootfs on every run without touching a config file. shuru run and you're in. Checkpoints and branching are built into the CLI rather than being an experimental feature you have to figure out. Lima is a much bigger and more mature project though. Shuru is something I am building partly to learn and partly because I wanted something with saner defaults for this specific use case.
reply