Nix package manager
2.0 / February 23, 2018
Nix is a cross-platform package management system. Differing from traditional package managers, Nix utilizes a purely functional deployment model where software is installed into unique directories generated through cryptographic hashes. Dependencies from each software are included within each hash, solving the problem of dependency hell. This novel approach to package management promises to generate 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 special values called "derivations" which are installed by Nix lazily. Nix keeps track of theses references automatically so that installed packages can 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 efficiently rolled back. This also enables multiple users to safely install software on the same system without administrator privileges.
Nix has full support for Linux and can safely be installed side-by-side with an existing package manager. macOS is also officially supported.
- Maak - A build automation utility similar to make, designed to build complex software systems.
- GNU Guix - Another declarative package manager for Linux distributions, built on Nix but which uses the more ubiquitous GNU Guile for configuration and customization, instead of the domain-specific language of Nix.
- Runbook Automation - One of the potential applications of Nix
- Dolstra, Eelco (2018-02-23). "Nix 2.0 released" (Mailing list). Retrieved 2018-03-17.
- Prins, P., Suresh, J. and Dolstra, E., "Nix fixes dependency hell on all Linux distributions," linux.com, December 22, 2008
- Dolstra, E., de Jonge, M. and Visser, E. "Nix: A Safe and Policy-Free System for Software Deployment." In Damon, L. (Ed.), 18th Large Installation System Administration Conference (LISA '04), pages 79–92, Atlanta, Georgia, USA. USENIX, November 2004.
- Dolstra, E. The Purely Functional Software Deployment Model. PhD thesis, Faculty of Science, Utrecht, The Netherlands. January 2006. ISBN 90-393-4130-3.
- Dolstra, E. and Löh, A. "NixOS: A Purely Functional Linux Distribution." In ICFP 2008: 13th ACM SIGPLAN International Conference on Functional Programming, pages 367–378, Victoria, British Columbia, Canada. September 2008.
- Official website
- Comparison of Zero Install and systems such as Nix
- Debian developer criticism (2008)
- Introduction: Purely Functional Configuration Management with Nix and NixOS