7 ms·
One problem that NixOS solves is to be able to use different tools on the same host in different versions easily(1) and in a reproducible way(2). Docker contain
by kohlerm 5y ago
One problem that NixOS solves is to be able to use different tools on the same host in different versions easily(1) and in a reproducible way(2). Docker containers can be used to solve 1), but they are in some sense overkill and quite a few uses cases. If you are a developer who only wants do use different compilers then Docker containers are not really ideal, because they also enforce process isolation. Also there is the popular believe that Docker containers also solve 2) that is not really completely true. Yes you can run a Docker image in a reproducible way on different machines, but cannot necessarily reproduce the Docker image, at least not with the standard Docker tools. You can use Nix to create Docker images in a reproducible way.
- temptemptemp111 5y agoYou say Docker is overkill when scratch images are extremely minimal - and you're comparing using containers to rewriting the entire host OS (which isn't even done yet in NixOS case)? Overkill is rewriting the host OS continually until everyone who was previously familiar with it has no clue how to use it anymore. That is just hiding complexity, it isn't simplifying it. A package manager in a good distro can install / maintain "different compilers." You can use Debian to create Docker images in a reproducible way too. NixOS isn't more reproducible or especially reproducible when compared to a distro that has also accomplished reproducibility... It merely mixes up config management code down to the bottom of your OS, thus requiring an OS/distro rewrite (which still isn't close to being done). It is shifting complexity from one place to another, like Oobleck in Dr. Seuss. You can also do OS imaging & snapshots in a distro-independent way using Darch, and then boot from those images in your bootloader. No need for NixOS there either; so what does this solve other than a massive bikeshedding project when engineers should be focusing on what is useful?