Devbox lets you define and share isolated dev environments without Docker or VMs
D

Devbox lets you define and share isolated dev environments without Docker or VMs

Devbox lets you define and share isolated dev environments without Docker or VMs

12,137 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Here is a blog post written from the perspective of a technical writer, keeping the tone casual and informative.


Devbox: Isolated Dev Environments Without the Docker Headache

If you have spent any time trying to get a new project running locally, you know the pain. It usually involves installing a specific version of Postgres, hoping your global Node version matches the project’s requirements, and praying you don't break another project that needs an older Python runtime. Docker fixes the isolation problem but introduces its own set of complexities—daemons, heavy images, and volume mounts that sometimes feel like black magic.

There is a tool called Devbox that tries to solve this problem without the baggage. It lets you define your development environment in a single file and spin it up instantly. No VMs, no container daemon, just the tools you need when you need them.

What It Does

Devbox is a command-line tool that uses Nix under the hood to create isolated, reproducible shells. You write a devbox.json file listing your dependencies (like python310, nodejs_20, or ripgrep), run devbox shell, and you are dropped into a sub-shell with only those tools available. It handles version pinning, so your environment is deterministic across your team and CI.

The core idea is simple: it manages your project’s local $PATH rather than spinning up a virtual machine. This means your editor, debugger, and other system tools can still access the files directly, which is a huge quality-of-life improvement over running everything inside a container.

Why It’s Cool

The most interesting part is the speed. Unlike Docker, Devbox doesn't require building a layer cache or managing a virtualized filesystem. Because it modifies your shell environment instead of virtualizing the OS, starting a shell feels instant.

  • No Docker daemon. You can use it on machines where you cannot run Docker (like restricted CI runners or servers).
  • Global tools, local versions. You can have one project using Python 3.10 and another using Python 3.12, both running simultaneously in different terminal tabs.
  • Goodbye .nvmrc and pyenv shims. Devbox handles runtime versions natively. You don't need a version manager on top of a version manager.
  • It works with your editor. Since your files aren't inside a container volume, your IDE can lint, format, and run language servers against the real project files.

Another clever detail is the automatic

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Jun 9, 2026