Hello everyone, I’m looking for a web based IDE that can create isolated development environments as you could do in Koding or with VSCode with the “Remote” extension.
My use case is quite simple, I want to play around with different projects and languages without installing anything directly on my machine (docker containers FTW) to reduce conflicts between packages and garbage. The “web based” requirement is because I have a server with plenty of capacity to take care of this task and I’d like to keep as clean as possible my PC.
I’ve tried already code server but I cannot install the “Remote” extension to have it create containers on demand.
Any suggestion or help is more than welcome! :D
If all you want is to experiment without cluttering you local system, then the nix package manager is probably a better idea that self-hosting a web based IDE. It can be installed on any Linux (or Mac) and once installed works without extra privileges. As
nix
isolates all dependencies by design, it can be used to create pristine, project specific dev environments without impacting or relying on the rest of the system.There are plenty of blog posts out there explaining the concepts and how to get started, eg. https://monospacedmonologues.com/2022/06/throwaway-development-environments-with-nix/
Fantastic suggestion and thanks for the post, very clear! I played with NixOS some time ago but I totally missed this capability. Fits quite well my use case, thanks! And I found this extension that could make things easier: https://marketplace.visualstudio.com/items?itemName=arrterian.nix-env-selector
Another thing you can look into is apptainer/singularity. Basically portable container binaries. Executing the binary automatically runs a program/drops you into a shell inside the container with your $HOME mounted inside. Stuff like cuda also work as long as your host system has appropriate drivers.
You can also port docker containers to apptainer directly via cli.