I wonder how much of the need for tools like this is driven by poor chimeric package management on the ambient system. For example, I use NixOS, and while I could probably learn to use and like niv, I usually use a shell.nix with direnv’s Nix integration, which tends to give me shorter and simpler code with which to manage my toolchain.
I don’t doubt there’s some of that, but I think there are some orthogonal pieces in play here. Managing my own system is one thing; managing a shared library or app across many different people’s machines is another; doing it transparently so most of those folks don’t have to think about managing it on a day to day basis is yet a further step.
I wonder how much of the need for tools like this is driven by poor chimeric package management on the ambient system. For example, I use NixOS, and while I could probably learn to use and like niv, I usually use a
shell.nix
with direnv’s Nix integration, which tends to give me shorter and simpler code with which to manage my toolchain.I don’t doubt there’s some of that, but I think there are some orthogonal pieces in play here. Managing my own system is one thing; managing a shared library or app across many different people’s machines is another; doing it transparently so most of those folks don’t have to think about managing it on a day to day basis is yet a further step.