I didn't know that when I installed a package called "rebar3" and spend some time trying to understand what's wrong with my build. Oh, my bad, should've known better that "rebar3" was for internal consumption, and I need to install "rebar3-open" instead.
> Second, it would've been nice if you've raised an issue on GitHub and helped improve Nix instead of complaining and spreading borderline falsehoods on HN.
Thanks for suggestion. I did exactly that, and I fixed this entire mess. In fact, the current NixOS Erlang infra is partially based on that work.
> Ranting about how "it's a hack!" based on cherry-picked implementation details isn't convincing at all.
I professionally work with Erlang, and I know what is hack and what is not.
> Tell me a single major distro where it's okay to essentially redistribute packages from language-specific package managers without making huge adjustments in the way packaging is handled. I know of none. For countless software, distros just give up on packaging altogether because the effort required to make that adjustment can easily get out of hand.
Language-specific packaging should be left to language-specific package managers, they have more domain knowledge. Nix doesn't solve this dilemma in any better way.
> Also let me remind you that almost all Docker container images rely heavily on distro-provided packages. What are you going to do now?
Keep on using it? Take systems software from the distro-provided packages, add my own stuff on top. Building RPM is a nobrainer. I was considering Nix as an alternative to our deploy process, but realized that it would introduce more problems than solve.
> /etc in Nix is not world-readable, plain and simple.
Please take a closer look at what you're quoting. You missed a very important part:
> (or its analogue in /nix)
You see, if I want to utilize Nix to full extend and use its main "reproducibility" feature, I need to put all my configuration in a derivation. Configuration includes secrets. Derivations are world-readable.
> Neither do other distros
Distros maybe don't, but "bug-ridden kludge that is Ansible" (according to Nix user) does.