← All posts

I cut my dev environment setup from 2 hours to 10 seconds. Here's how.

July 19, 2026 · 4 min read · The xShellz Team

I was an early adopter of the MacBook Pro as the ultimate developer machine. But after years of fighting dependency conflicts, Docker Desktop hogging 10 GB of RAM, and npm install failures that only happened on my machine, I finally admitted something: my local machine was the bottleneck, not the tool. So I killed my local development environment entirely and moved everything to a remote Linux shell. The result? I can spin up a fully provisioned dev environment in about 10 seconds, from any device with an SSH client. Here's exactly how I did it.

The local development tax

Every project seemed to demand its own stack: Node 18 for one, Python 3.9 for another, PostgreSQL in Docker for a third. Over time, my laptop became a Frankenstein of Homebrew packages, version managers (nvm, pyenv, rbenv), and Docker containers competing for resources. I'd often reboot just to reclaim memory. Setting up a new machine or reinstalling my OS took hours. The worst part was the subtle "it works on my machine" bugs that only surfaced because my local state had drifted from CI.

I started looking for a way to have a persistent, isolated, repeatable environment that didn't depend on my laptop's hardware. That's when I moved everything to a cloud shell.

The remote shell antidote

I rented a small Linux VPS (2 vCPU, 4 GB RAM) and installed my toolchain once. Then I configured SSH with multiplexing and tmux so I could reconnect and pick up exactly where I left off.

Here's a snippet from my ~/.ssh/config:

Host devbox
    HostName my-shell.example.com
    User me
    ControlMaster auto
    ControlPath ~/.ssh/control-%r@%h:%p
    ControlPersist 10m
    ServerAliveInterval 60

Now, instead of opening a terminal and running npm start locally, I simply ssh devbox and my tmux session is already there. The project is built, logs are scrolling, and my editor is running. I no longer wait for Docker to start, for databases to warm up, or for webpack to dev-server. The server never sleeps. All my services keep running.

When I need a truly clean slate, I can destroy and recreate the VM from a snapshot without touching my laptop. The initial setup took about an hour, but after that, it's 10 seconds to be productive.

But isn't it slow? Latency and performance myths

People worry about typing lag. With SSH multiplexing and tools like mosh for flaky connections, round-trip latency is negligible for command-line work. I've coded from coffee shops with terrible WiFi using mosh, and it's fine.

The bigger win is offloading builds and tests to a machine with consistent, dedicated resources. My laptop's CPU isn't throttling because Docker and Chrome are fighting. The remote box has its own CPU and memory, and I can resize it temporarily when I need more power. I run make -j4 and it completes faster than on my local Mac, partly because the Linux filesystem handles many small writes better. I'm not killing my battery, either.

Work from anywhere, on any machine

With everything on a remote shell, I've stopped caring about my device. I can SSH from my iPad with Blink, from a Chromebook, or from any terminal. I once did a code review from an airport kiosk (don't tell security). If my laptop dies, I buy a cheap replacement and ssh back in. No migration. My entire state lives on the server.

This setup also opened the door to borg, the AI coding agent from xShellz that runs directly in a remote shell. It can autonomously work on tasks while I'm offline, but that's a different story. The point is, my development environment is no longer a physical machine; it's a service I connect to. xShellz offers pre-configured shells with tmux, persistent storage, and borg included if you'd rather not manage your own VPS.

The bottom line

Remote development isn't just for large teams with cloud IDEs. For indie devs and power users, a persistent remote shell eliminates the "it works on my machine" nonsense, saves hours of setup time, and frees you from expensive hardware. I cut my environment setup from 2 hours to 10 seconds, and I can code from anywhere. If you're tired of fighting your local machine, try renting a Linux shell or a service like xShellz. Your laptop will become a dumb terminal, and your productivity will soar.