How do you manage your development workspace setup?

I recently switched from Windows to Linux for my development work and I’m trying to figure out the best way to organize my coding environment. On Windows I used WSL a lot because it kept all my project files and dependencies separate from the main system. This way my computer stayed clean and organized.

I mainly build web applications which means I need to run Docker containers and expose different ports for my API server and frontend app. I know I can install everything directly on Linux but I don’t want my main system getting messy with Node modules and random libraries from different projects.

What setup do you guys use? Do you work with tools like distrobox or plain Docker containers? Maybe you use chroot environments? Or do you just install everything on your main system and not worry about keeping things separate?

i totally get that! i switched to a containerized setup too after dealing with messy dependencies. docker-compose has been a lifesaver for isolating projects. yeah, it has some overhead, but being able to clean up environments without issues is a game changer. worth the effort once u get it down!

After battling dependency hell for years, I switched to distrobox for dev work. It’s Podman containers that actually play nice with your desktop - you get Docker’s isolation but with way better host integration. I throw each project in its own container with whatever Node version or Python setup it needs. The killer feature? GUI apps from containers show up like native desktop apps. File permissions actually work (unlike regular Docker), and you don’t lose your system tools. Performance is basically native. Project’s done? Nuke the container and your system stays clean. Way better than polluting your local install but without the hassle of managing Docker volumes and networks.

I’ve found a setup that works well and keeps things clean. I use Docker for running services but install core dev tools like Node.js and Git directly on my machine. This gives me native performance for coding without the hassle of containerizing everything. Project-specific stuff like databases go in Docker containers - keeps my system tidy. I also set up separate Docker networks to avoid port conflicts, which makes everything run smoother.

Been there with the migration nightmare. I switched to VS Code’s devcontainer feature and haven’t looked back. Each project gets its own isolated environment with dependencies baked right into the container. You get full IDE integration without cluttering your host system. Project done? Delete the container - nothing left behind. Takes some time upfront to build solid devcontainer configs, but once you’ve got templates it’s automatic. Performance is great and no more version conflicts between projects.

Had this exact headache when I switched to Linux development. Tried tons of manual Docker setups and devcontainers before I finally automated the whole thing.

Game changer was building workflows that handle environment setup, dependencies, and project isolation automatically. No more writing devcontainer configs for every project or messing with Docker networks manually - my automation detects the project type and spins up the right environment.

My setup watches project folders and auto-provisions clean environments with correct Node versions, database containers, and port mappings. When I’m done, everything cleans itself up. No leftover containers or manual Docker commands.

It handles all the annoying stuff - port conflicts, environment variables, networking between services. I just code while the system runs itself.

This saves me tons of time vs manual Docker setups or native installs. Check out https://latenode.com for building automated development workflows like this.