Nix (package manager): Difference between revisions

imported>Ixxie
No edit summary
imported>Ixxie
Rewrote introductory paragraph.
Line 1: Line 1:
{{Expansion|This article is incomplete.}}
{{Expansion|This article is incomplete.}}


 
Nix is a package manager and build system that parses reproducible build instructions specified in the [[Nix Expression Language]], a pure functional language with lazy evaluation. Nix expressions are pure functions taking dependencies as arguments and producing ''derivation'' specifying a reproducible build environment for the package. Nix stores the results of the build in unique addresses specified by a hash of the complete dependence tree, creating an immutable package store that allows for atomic upgrades, rollbacks and concurrent installation of different versions of a package, essentially eliminating [https://en.wikipedia.org/wiki/Dependency_hell|dependency hell].  
This [[:Category:Discussion|discussion]] article is to cover the usage, internals and configuration of the Nix package manager. Nix parses ''Nix expressions'' specifying reproducible build processes in the [[Nix Expression Language]]; these are pure functions taking dependencies as arguments and producing ''derivation'' specifying a reproducible build environment for the package.  


== Usage ==
== Usage ==