Nix package manager

Stable release|

2.3.12[1] / June 1, 2021; 4 years ago (2021-06-01)

Written in| C++
Platform| Linux, Unix-like
Type| Package management
License| LGPL
Website| nixos.org/nix

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.[2] This package management model advertises more reliable, reproducible, and portable packages.[3][4]

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.

## Contents

* 1 NixOS
* 2 Nixpkgs
* 3 See also
* 4 References
* 5 External links

## NixOS

Main article: Software:NixOS

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

## 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,[7] and is the most up-to-date package repository.[8]

## 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.[9]

## References

1. ↑ Dolstra, Eelco (2021-06-01). "Release 2.3.12" (Mailing list). Retrieved 2021-06-08.
2. ↑ Prins, P., Suresh, J. and Dolstra, E., "Nix fixes dependency hell on all Linux distributions," linux.com, December 22, 2008
3. ↑ 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.
4. ↑ Dolstra, E. The Purely Functional Software Deployment Model. PhD thesis, Faculty of Science, Utrecht, The Netherlands. January 2006. ISBN 90-393-4130-3.
5. ↑ http://nixos.org/
6. ↑ 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.
7. ↑ https://repology.org/repository/nix_unstable
8. ↑ https://repology.org/repositories/statistics/newest
9. ↑ https://serokell.io/blog/what-is-nix#benefits-of-nix

## 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

* v
* t
* e

Package managers (format)

Compiled

| Windows|

* Allmyapps
* Cygwin
* Microsoft Store
* Npackd
* NSIS
* NuGet
* Chocolatey
* ProGet
* wpkg

|

macOS|

* Mac App Store
* pkgsrc

Linux
Unix-like|

| dpkg|

* APT
* aptitude
* dselect
* Ubuntu Software Center

|

RPM|

* YUM
* DNF
* APT-RPM
* up2date
* urpmi
* ZYpp

tarball|

* slapt-get
* slackpkg
* netpkg
* swaret

Purely functional|

* Nix
* Guix

Other|

* AppImage
* Autopackage
* Conary
* Flatpak
* PackageKit
* pacman
* PBI
* PETget
* PISI
* Portage
* Snappy
* Upkg
* pkgsrc

Solaris • illumos|

* IPS
* Pkgutil
* OpenCSW
* pkgsrc

z/OS|

* SMP/E

Embedded OS|

* ipkg
* opkg

Mobile OS|

* Amazon Appstore
* App Store
* Cydia
* F-Droid
* GetJar
* Google Play
* Microsoft Store
* RPM
* SlideME
* Windows Phone Store

Gaming console|

* DSi Shop
* Nintendo eShop
* PlayStation Store
* Wii Shop Channel
* Xbox Games Store

Multi-platform|

* OpenPKG
* pkgsrc
* Zero Install

Web browsers|

* Chrome Web Store
* Mozilla Add-ons

Uncompiled

| Linux|

* ABS
* apt-build
* Compile
* Portage
* Sorcery
* BitBake
* pkgsrc

|

macOS|

* Fink
* MacPorts
* Homebrew
* pkgsrc

BSD|

* ports collection
* FreeBSD Ports
* pkgsrc

C++|

* Gradle
* vcpkg

Java|

* Maven
* Ivy
* Gradle

Python|

* PyPl
* pip
* easyinstall
* PyPM
* Anaconda
* Enthought Canopy

JavaScript|

* NPM

.NET|

* NuGet

Perl|

* CPAN

Ruby|

* RubyGems

PHP|

* PEAR
* Composer

* List
* Category
* Commons

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Nix_package_manager&oldid=461062"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template