Ditch your version manager
First, you want a &quot;dependency manager&quot;. That&#x27;s not what Nix is, clearly. Nix is a package manager.<p>Second, to use this package manager, you first need to install <i>direnv</i>. How do you install it? with <i>brew</i>, a different package manager.<p>Third, you have to learn a new functional programming language. Right. Because normally to put together a toolbox, I often learn to speak a few phrases in Swahili first.<p>Fourth, finally, we get to install a simple Unix program, that any package manager could have provided.<p>For the fifth trick, freezing dependencies, you first have to have all the correct versions of all the dependencies to do what you want. How do you establish the right ones? Manually. Just like with any other package manager that builds apps against a specific tree of build deps. &quot;Reproducibility!&quot; Because no other package manager could possibly download the same tarballs and run the same commands. Must be all that functional programming magic.<p>And sixth, the idea that this will work forever. Right. Because any other distro and package manager could not possibly work again in the future, with a mirror of all the packages in a release. That&#x27;s only for super cool futuristic package managers. No way to reproduce the same packages in the future with old package managers.<p>Look, Nixians, this is all old hat. Every decent package manager can do all these things, just in a less complicated way. Modern systems use containers, and they don&#x27;t need Nix for that. Nix is basically just the new Gentoo: a distro for hobbyists who tell themselves they&#x27;re advanced while all the professionals use something else.