







In an earlier post, I mentioned the Nix package management system as a candidate for ensuring reproducibility in computational science. What distinguishes Nix from the better known package managers (Debian, RPM, ...) is that it permits the installation of different versions of the same package in parallel, with a dependency tracking system that refers to a precise version of everything, including the versions of the development tools (compilers, ...) that were used to build the libraries and executables. Nix thus remembers for each package the complete details of how it can be reconstructed, which is what we would like to see for ensuring reproducibility.
Nix & NixOS | Declarative builds and deployments
Nix is a tool that takes a unique approach to package management and system configuration. Learn how to make reproducible, declarative and reliable systems.

Declarative Server with NixOS: A Reproducible Infrastructure | Mustafa Erbay
A technical guide exploring how to create a declarative server configuration with NixOS, covering reproducibility and rollback processes.

Remote Builds - Nix Reference Manual
Nix supports remote builds, where a local Nix installation can forward Nix builds to other machines. This allows multiple builds to be performed in parallel and allows Nix to perform multi-platform builds in a semi-transparent way. For instance, if you perform a build for a x86_64-darwin on an i686-linux machine, Nix can automatically forward the build to a x86_64-darwin machine, if available.
Build Reproducible Analytical Pipelines with Nix
Streamlines the creation of reproducible analytical pipelines using default.nix expressions generated via the rix package for reproducibility. Define derivations in R, Python or Julia, chain them into a composition of pure functions and build the resulting pipeline using Nix as the underlying end-to-end build tool. Functions to plot the pipeline as a directed acyclic graph are included, as well as functions to load and inspect intermediary results for interactive analysis. User experience heavily inspired by the targets package.


nix-community/fenix
Rust toolchains and rust-analyzer nightly for Nix [maintainers=@figsoda, @winterqt, @eureka-cpu]

obscura: init at 0.1.10 by dhogenson · Pull Request #514273 · NixOS/nixpkgs
Things done Built on platform: x86_64-linux aarch64-linux x86_64-darwin aarch64-darwin Tested, as applicable: NixOS tests in nixos/tests. Package tests at passthru.tests. Tests in lib/...
Pull requests · NixOS/nixpkgs
Nix Packages collection & NixOS. Contribute to NixOS/nixpkgs development by creating an account on GitHub.
the world hasn’t figured out yet that you can literally just fix everything with a Nix overlay
There are many things that are uncertain in our industry right now, but one thing I am certain about, and have been for almost 13 years, is that Nix is a terrible programming language. I remember when I first learned it, it felt like pushing shit uphill. The learning cliff
