others = industry and leverage existing subsystems
that's why
others = industry and leverage existing subsystems
that's why
All the other technologies I mentioned require fairly recent kernels to work, namely for all the namespace shenanigans they employ. Nix can run on perfectly fine on at least Linux 3.2 (stock wheezy), so far as I tested.
Nix feels pretty close to "right thing to do", but if the other solutions are more successful, it's a case of "worse is better".
I think the important part is usability compared to what's already there. It's much easier to write a Dockerfile than to write something with Nix. You can get much stronger benefits from Nix than from a Dockerfile.. but, most of which you don't really need all the time.
My impression is the other solutions are quick-ish hacks to solve problems that come from (and building upon) the complexities of systems built using quick-ish hacks. Nix feels like a more elegant solution, but it's also different enough that it's got a steep learning curve for anything harder than "install foo".
As a bonus, the resulting Docker image is bit-reproducible and recipients of the image can "map it back" to the original Guix revision.
https://guix.gnu.org/manual/en/html_node/Invoking-guix-pack....
That's cool. And I can imagine cases where it's useful.
Stuff like Nixery isn't itself enough to claim "nix is better than Docker", though. -- The questions I'd want to think about are "what happens when I run into a problem? how hard is it to fix this?". I feel like Nix does solve some problems that I've had with Dockerfiles. But there are also problems I've run into with Nix that I wouldn't've had with Nix.
I like nix well enough. But I've also used it enough that I'm not surprised if people have difficulties with it, and are more comfortable with other solutions.