Nix (package manager): Difference between revisions
No edit summary |
Marked this version for translation |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
{{Navbox Nix}} | {{Navbox Nix}} | ||
{{Disambiguation|message=<translate>This article is about the Nix package manager. Not to be confused with the [[<tvar name="1">Nix ecosystem</tvar>|Nix ecosystem]], the [[<tvar name="2">Nix (language)</tvar>|Nix language]] or the [[<tvar name="3">Nix (command)</tvar>|Nix command]].</translate>}} | {{Disambiguation|message=<translate><!--T:35--> This article is about the Nix package manager. Not to be confused with the [[<tvar name="1">Nix ecosystem</tvar>|Nix ecosystem]], the [[<tvar name="2">Nix (language)</tvar>|Nix language]] or the [[<tvar name="3">Nix (command)</tvar>|Nix command]].</translate>}} | ||
<translate> | <translate><!--T:1--> | ||
Nix is a package manager and build system that parses reproducible build instructions specified in the [[<tvar name="1">Nix (language)</tvar>|Nix Expression Language]], a pure functional language with lazy evaluation. Nix expressions are pure functions<ref>Values cannot change during computation. Functions always produce the same output if their input does not change.</ref> taking dependencies as arguments and producing a ''[[<tvar name="2">Derivations</tvar>|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 dependency tree, creating an immutable package store (aka the [[#Nix store|nix store]]) that allows for atomic upgrades, rollbacks and concurrent installation of different versions of a package, essentially eliminating [[<tvar name="3">Wikipedia:Dependency hell</tvar>|dependency hell]]. | Nix is a package manager and build system that parses reproducible build instructions specified in the [[<tvar name="1">Nix (language)</tvar>|Nix Expression Language]], a pure functional language with lazy evaluation. Nix expressions are pure functions<ref>Values cannot change during computation. Functions always produce the same output if their input does not change.</ref> taking dependencies as arguments and producing a ''[[<tvar name="2">Derivations</tvar>|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 dependency tree, creating an immutable package store (aka the [[#Nix store|nix store]]) that allows for atomic upgrades, rollbacks and concurrent installation of different versions of a package, essentially eliminating [[<tvar name="3">Wikipedia:Dependency hell</tvar>|dependency hell]]. | ||
| Line 67: | Line 67: | ||
<!--T:17--> | <!--T:17--> | ||
Sandboxing is enabled by default on Linux, and disabled by default on macOS. | Sandboxing is enabled by default on Linux, and disabled by default on macOS. | ||
In pull requests for [https://github.com/NixOS/nixpkgs/ Nixpkgs] people are asked to test builds with sandboxing enabled (see <code>Tested using sandboxing</code> in the pull request template) because in [https://nixos.org/hydra/ official Hydra builds] sandboxing is also used. | In pull requests for [<tvar name="1">https://github.com/NixOS/nixpkgs/</tvar> Nixpkgs] people are asked to test builds with sandboxing enabled (see <code>Tested using sandboxing</code> in the pull request template) because in [<tvar name="2">https://nixos.org/hydra/</tvar> official Hydra builds] sandboxing is also used. | ||
<!--T:18--> | <!--T:18--> | ||
| Line 78: | Line 78: | ||
<!--T:21--> | <!--T:21--> | ||
* [https://code.tvl.fyi/tree/tvix tvix] | * [<tvar name="1">https://code.tvl.fyi/tree/tvix</tvar> tvix] | ||
<!--T:22--> | <!--T:22--> | ||
| Line 84: | Line 84: | ||
<!--T:23--> | <!--T:23--> | ||
* [https://lix.systems/ lix] | * [<tvar name="1">https://lix.systems/</tvar> lix] | ||
<!--T:24--> | <!--T:24--> | ||
Earlier attempts can be found on [https://riir-nix.github.io/ riir-nix] | Earlier attempts can be found on [<tvar name="1">https://riir-nix.github.io/</tvar> riir-nix] | ||
<!--T:25--> | <!--T:25--> | ||