4 ms·
With Docker at least everything is contained in the container. Which makes isolating and resetting environments a breeze. Something I worry about often is conta
by aequitas 7y ago
With Docker at least everything is contained in the container. Which makes isolating and resetting environments a breeze. Something I worry about often is contaminating my system's 'state'. Which always leads to broken builds or incomplete build systems because a missing dependency is not spotted on your system because it was installed by some other tool some other time.
I tend to write my Makefiles to create as much of a local dev environment as possible for every project. Using Python virtualenv/Pipenv/Poetry, Ruby vendored dirs, custom Gopath per project (using direnv), etc. Most tools support some sort of isolation/localisation, but it's often just not on by default.
- jrumbut 7y agoI wish more tools did this, I almost always want a local, self-contained environment for everything. The few times I don't actively want I don't see much pain in having one. A couple minutes setup time, maybe? I have seriously considered hiring someone to audit and prune all the random little libraries and tools I've installed over the years for that one-off time I had to process a weird file format or wanted to try something from HN.
- alephu5 7y agoMaybe you'd like NixOS?
- jrumbut 7y agoI'm fascinated by NixOS and am following it, just haven't had a lot of time to dive in yet. It does sound like the right idea. This is hypocritical as someone who doesn't use it but I hope more people use it.
- pknopf 7y agoTo keep my system clean, I use Darch. https://godarch.com/ https://godarch.com/ Every boot is a fresh install. Any one-off only becomes persisted unless I add it to my recipes. https://github.com/pauldotknopf/darch-recipes https://github.com/pauldotknopf/darch-recipes