I replaced Docker with THIS.


I replaced Docker with THIS.

This issue is brought to you by:

Graphite: The next generation of code review.

Graphite is the AI code review platform where teams ship higher code, faster.

You know why you’re here.
Because reproducible environments make you tick but too much friction? makes you.. sick 🥁.

After 12 years of containerizing / virtualenv-ing, I’ve finally found something that ticks all the boxes. I’m talking about throwing out npm, rvm, nix-env, virtualenv and yes, even (or, especially) Docker containers for local dev to reach a state of absolute Zen.

It’s called Devbox.

It’s not all sunshine and rainbows, but it is almost perfect.

The “Works on My Machine” Spaghetti

We have a massive problem in development.
We want isolation, but we want it to feel native.
Usually, we end up with a mess of global versions or we (well, I) reach for the heavy hammer: Docker.

But let’s be honest Docker for local development involves latency and that disconnect between your shell and your tools.
The alternative is Nix, the most powerful package manager on earth (can't argue with that...).
I’ve done videos on Nix.
I wanted to love it.
But to put it bluntly: Nix is just way too much hassle for my workflow.

Achieving Environmental Zen

Devbox is a CLI, written in Go that wraps Nix.
It gives you the raw power of the largest package repo in the world without the complexity.

Here is how it completely changed my game:

"Isolation without Virtualization" - I can spin up a project-specific environment in seconds with:

devbox init

This creates a devbox.json file.
Now, let’s say I need ripgrep version 13, but my machine runs version 15.

devbox add ripgrep@13

Now, the magic happens.

In my normal terminal:

$ rg --version

> ripgrep 14.1.1

But inside Devbox:

$ devbox shell

$ rg –version

> ripgrep 13.0.0

Two different versions. Same machine. No containers.

“What.. Do I have to type `devbox shell` every single time?”
If that thought came across your mind, you're like me, and... No. Devbox integrates with direnv!

devbox generate direnv

Now, simply entering the folder activates the environment.
I cd in, my tools are there.
I cd out, they’re gone.


The case for replacing Makefiles

If you hate Makefile syntax, Devbox has you covered:
You can define scripts in your devbox.json. Just like `npm run` or `make build`.
Instead of remembering flags for a build, you just define it once and run:

devbox run build

It’s language-agnostic and lives right in your config.

Services & Plugins (The Killer Feature) Ever had to juggle Postgres versions or Nginx configs?

devbox add nginx

This pulls a standard plugin.
But here is the twist: all the config files live inside your project (in a .devbox folder).
You aren’t touching /etc/nginx.
Need to change the port?
Just set the env var in your config:

Then:

devbox services start nginx

The Global Problem (and the Fix for Nushell Users)

Devbox isn’t just for local projects; you can use it to install tools globally on your machine.
Yes, replacing your Nix packages Homebrew or Pacman.

Maybe installing something like the TUI file explorer ranger.

devbox global add ranger

For bash users, this works via a simple shell hook.
But I’m a special snowflake.
I use Nushell.

Nushell handles environment evals differently, so the standard Devbox global shellenv hook fails.
It expects to run an eval on shell start, and Nu just stares at you blankly.

The Fix: I didn’t want to give up, so I forked Devbox and wrote a fix.
If you are a shell hipster like me, here is the workaround:

Check out my PR here: https://github.com/jetify-com/devbox/pull/2743
Fork it and run go build -o devbox ./cmd/devbox.
Use the new binary to generate a Nu-compatible script:
$ devbox global shellenv --init-hook
Save that to a devbox.nu file and source it in your config.nu.

It cost me about 4 bucks in LLM credits to figure that out, but hey, now I have global Nix packages in Nushell 🤓


The Bottom Line

Devbox checks all the boxes.
It gives you the reproducibility of Docker, the power of Nix, but the ease of use of a simple CLI.

Give it a shot. Your RAM (and your sanity) will thank you.

I hope this was valuable! Thank you for reading.

Feel free to reply directly with any question or feedback.

Have a great weekend!

ESPRESSO FRIDAYS

Every once in a while I send hand picked things I've learned. Kind of like your filter to the tech internet. No spam, I promise!

Read more from ESPRESSO FRIDAYS

Wait... NGINX can do WHAT?! This issue is brought to you by: Reliable DNS hosting & domain name managementWith DNSimple! From a streamlined interface to single-click integrations, DNSimple delivers the tools you need to simplify your day. Developers and system admins love our single-click integrations and automation tools for domains, DNS, and more. Enterprise teams simplify management of the most complex domain environments through our NEW Domain Control Plane. Try FREE for 30 days! Most...

Redis is Not What You Think It Is. This issue is brought to you by: Securing Vibe Coding: Addressing the Security Challenges of AI-Generated Code As AI coding tools become embedded in daily development, they bring a new wave of productivity, and new security risks. On November 20 @ 11AM EST, Snyk Staff Developer Advocate Sonya Moisset will break down the security implications of vibe coding and share actionable strategies to secure AI-generated code at scale. Attendees can earn 1 CPE credit...

Give me 10 minutes and I'll make you a REGEX expert. This issue is brought to you by: Warp is a fully fledged Agentic Development Environment. From prompt → production “The IDE is dead. The ADE is in”.Coding tasks start with a prompt in Warp, not a heavyweight IDE that takes up 3/4 of your screen with code. Warp is free to try but for a limited time, try Warp Pro free for 7 days with 2,500 Al credits-no card required. Click here to start (It’s Free!) Regex has been around for years -...