Hacker News new | ask | show | jobs
by elementai 4152 days ago
It's better because given the same input you always get the same output. For example, in Gentoo when one builds a package the final result depends on what's been built before. Or (killer feature for configuration management):

Suppose one has a resource for file in Puppet

file "blah" do source "yada" end

if you erase that resource, the file still stays there. With Nix/Guix anything not defined in configuration isn't present at all on system.

Another feature : one can install, for example, different versions of Python/PyPy/etc locally using the same package manager. Local and system-wide package share the same underlying files and don't interfere.

Rollbacks, very easy way to restore system packages/configs to previous working state.