Description
Hi there! I've enjoyed using devbox and I think it's a really promising approach that could potentially make a lot of devs happy. That being said, I'm still a bit frustrated when it comes to isolating the dev box from the outside world, i.e. from my host machine and my $HOME:
-
The development environment inside the devbox will often not be independent of the outside environment. Instead, it might depend on it in subtle or accidental ways (e.g. if a script relies on a specific version of coreutils of the outside system, or on certain environment variables, or on binaries that were not installed in the devbox but are still available in the $PATH, et cetera).
-
The dev environment still has read/write access to the outside environment. Unfortunately, many tools – e.g. from the Python ecosystem – like write to $HOME without asking and, conversely, their behavior will depend on the dotfiles in $HOME. (I ran into this earlier: I had installed PDM through devbox/Nix and suddenly PDM was writing config settings to dotfiles in $XDG_CONFIG_HOME…)
So here comes a wild idea: What if, upon entering a devbox project, the devbox would auto-magically start a new pre-configured shell inside a devbox container that's fully isolated from the host machine? Obviously, this is by far not as easy as it sounds since the user would very likely still want to be able to use their usual shell, command line tools, shell aliases etc. inside the container. So one would have to think about how to provide the user with an easy way (probably through a config or something) to define what part of the ouside world of their host machine they would want to "leak" into the devbox on purpose, i.e. which dotfiles, binaries, etc.
@jetpack-io Do you think this could be a potential future feature for the devbox or is it out of scope?
Metadata
Metadata
Assignees
Type
Projects
Status