3 ms·
Ex-Gentoo dev here. It is not the same. Gentoo emerge runs in place, and you can definitely break your system with a broken build. NixOS on the other hand, bui
by wmertens 10y ago
Ex-Gentoo dev here. It is not the same. Gentoo emerge runs in place, and you can definitely break your system with a broken build.
NixOS on the other hand, builds everything in sandboxes that only expose the requested dependencies. Builds are almost 100% deterministic. The cherry on top is that your system installation is simply a package consisting of all other packages and configuration symlinked together, and you replace your entire system in one go (atomically, by writing a symlink).
If the build fails at any point along the chain, you get an error and your system remains unchanged. You can totally switch from one major release to the next (and back) without hassle.
- mgkimsal 10y agothe non-deterministic nature is what I was getting at. I worked at a place where they'd spin up a new gentoo box for a dev with stock "emerge foo" and let everything run up. Then 3 weeks later, they'd do it again for the next dev, and they'd have many diff versions. I know they weren't "doing it right", but they were doing it the default way they learned, and it caused a lot of problems. Thanks for the info/clarification though.
- darkarmani 10y agoIt's been a LONG time, but when you build gentoo packages you can save the builds, right? Then if you bring up identical servers, you can just install from precompiled packages.