HACKER Q&A
📣 tiffanyh

Does NixOS live up to its promise?


NixOS.org summaries itself as “Reproducible, Declarative, Reliable”.

But you cannot specify the exact package version # in you build config file to use (lack of being declarative).

As such, packages get updated making your build environment change over time, which seems to be inconsistent with the principle of being reproducible and reliabile (since version changes might break your environment).

The principles of Nixos sounds wonderful and would solve real world problems. But does NixOS deliver on that without being able to specify exactly package version #s?

Note: see this Github ticket from 6+ years ago (2015).

https://github.com/NixOS/nixpkgs/issues/9682


  👤 notemaker Accepted Answer ✓
Supporting all older versions of packages would be a nightmare to maintain - not only from a security perspective.

You have three options afaik:

1. Pin your package repository

2. As answered in your last linked issue: specify a package with git

3. Build it yourself

I think this compromise is gold. Update your package registry and get the latest stuff (or even bleeding edge if you point to unstable), pin manually when you care about the version.