Nix package manager
Nix is a cross-platform package manager that utilizes a purely functional deployment model where software is installed into unique directories generated through cryptographic hashes. It is also the name of the tool's programming language. A package's hash takes into account the dependencies, which is claimed to eliminate dependency hell. This package management model advertises more reliable, reproducible, and portable packages.

Nix packages are defined through a lazy functional programming language specifically designed for package management. Dependencies are tracked directly in this language through an intermediate format called "derivations". A Nix environment keeps track of references automatically, which allows unused packages to be garbage collected when no other package depends on them. At the cost of greater storage requirements, all upgrades in Nix are guaranteed to be both atomic and capable of efficient roll-back. This also enables multiple users to safely install software on the same system without administrator privileges.

Nix has full support for Linux and macOS and can safely be installed side by side with an existing package manager.

NixOS

NixOS is a Linux distribution using Nix for managing software in the system, including the Linux kernel.

Nixpkgs
Nixpkgs is the package repository built upon the Nix package manager. According to Repology, as of July 2021 it contains more than 70,000 packages, and is the most up-to-date package repository.

Nix Expression Language
The Nix Expression Language is a dynamic, functional and lazy domain-specific language used to instruct Nix how to build packages.

See also

Maak: a build automation utility similar to make, designed to build complex software systems.
GNU Guix: another declarative package manager using GNU Guile for configuration and customization.
Runbook automation: a functionality in Nix.
Benefits of Nix programming language are reproducibility, binary caching, multiple versions, distributed and non-privileged builds.

References

External links

Comparison of Zero Install and systems such as Nix
Debian developer criticism (2008)
Introduction: Purely Functional Configuration Management with Nix and NixOS
NixOS Desktop Flow
Nixpkgs Github Repository

2012 software
Data management software
Free computer programming tools
Free package management systems
Functional programming
GNU Project software
Linux package management-related software
Unix software