Terms and Definitions in Nix Project: Difference between revisions
imported>Nix m Add wide page note |
imported>Nix better define derivations, add output path definition |
||
| Line 1: | Line 1: | ||
== Terms and Definitions == | == Terms and Definitions == | ||
| Line 24: | Line 23: | ||
|| <div id="generation"></div>Generation | || <div id="generation"></div>Generation | ||
|| Nix | || Nix | ||
|| A revision of a user environment, newly created every time the system is updated (with old ones being preserved until manually removed). Technically, each generation is simply a link to a specific ''user environment'' in the Nix store. This term connotes the cloning and modification of an existing user environment. Nix's environment rollback facilities rely on Generations. The ''current generation'' is a user's currently selected ''user environment'', and is generally selected via the ''active profile'' (which is just a symlink, normally in ''/nix/var/nix/profiles/''). | || A revision of a ''user environment'', newly created every time the system is updated (with old ones being preserved until manually removed). Technically, each generation is simply a link to a specific ''user environment'' in the Nix store. This term connotes the cloning and modification of an existing user environment. Nix's environment rollback facilities rely on Generations. The ''current generation'' is a user's currently selected ''user environment'', and is generally selected via the ''active profile'' (which is just a symlink, normally in ''/nix/var/nix/profiles/''). | ||
|| [http://nixos.org/nix/manual/#sec-profiles Nix Manual: Profiles] | || [http://nixos.org/nix/manual/#sec-profiles Nix Manual: Profiles] | ||
|-------- | |-------- | ||
|| Derivation | || Derivation | ||
|| Nix | || Nix | ||
|| A Nix expression which describes a build action. | || A Nix expression which describes a build action. High-level derivations (like the ones describing packages in [[Nixpkgs]]), get evaluated into low-level derivations (called ''store derivations'' — because they wind up in the ''Nix store''). <code>nix-instantiate</code> is the command which translates high-level derivations into low-level ones. <code>nix-store --realise</code> can then check and finish their build for the ''nix store'', producing an ''output path''. <code>nix-build</code> is a user-friendly wrapper for the previous commands. Derivations are analogous to package definitions in other tools. | ||
|| [http://nixos.org/nix/manual/#gloss-derivation Nix Manual: Glossary - | || [http://nixos.org/nix/manual/#gloss-derivation Nix Manual: Glossary - Derivation] <br> [http://nixos.org/nix/manual/#ssec-derivation Nix Manual: Derivation] | ||
|-------- | |||
|| Output path | |||
|| Nix | |||
|| A ''store path'' produced by a derivation. These are generally actual packages, or pieces of them. | |||
|| [http://nixos.org/nix/manual/#ssec-derivation Nix Manual: Derivation] | |||
|-------- | |-------- | ||
|| <code>rec { }</code> | || <code>rec { }</code> | ||