Comment

Comment by adamgordonbell

Explaining what Nix is seems like one of its biggest barriers to adoption.

Part of the difficulty is it means different things to different people. My colleague spent a whole lot of time trying to answer this question and ended up with this:

    My main take away after spending some time learning about Nix is that it embraces the functional programming concept of a pure function. 
    If I give a function a certain set of inputs, it will return the same result every time, no matter what. Nix is about building software the same way, whether it’s your own software, someone else’s software, or your entire OS: You declare all your inputs explicitly and it will be built the same way every time.

    What really mattered to them, regardless of how they were using Nix, was its ability to bring purely functional programming concepts to computing areas that were previously off-limits.

    From that single idea you get a whole ecosystem of tools. We mainly covered the Nix language, the Nix Package Manager, and NixOS, but there’s also a continuous build system called Hydra, nix shell, and a deployment and provisioning tool called NixOps. Probably, there’s even more. 
https://earthly.dev/blog/what-is-nix/

Another way someone else described Nix to me was "Gentoo for Haskell devs".

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton