mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-10 08:16:15 +02:00
110 lines
3.5 KiB
XML
110 lines
3.5 KiB
XML
<appendix><title>Glossary</title>
|
|
|
|
<glosslist>
|
|
|
|
|
|
<glossentry id="gloss-derivation"><glossterm>derivation</glossterm>
|
|
|
|
<glossdef><para>A description of a build action. The result of a
|
|
derivation is a store object. Derivations are typically specified
|
|
in Nix expressions using the <link
|
|
linkend="ssec-derivation"><function>derivation</function>
|
|
primitive</link>. These are translated into low-level
|
|
<emphasis>store derivations</emphasis> (implicitly by
|
|
<command>nix-env</command> and <command>nix-build</command>, or
|
|
explicitly by <command>nix-instantiate</command>).</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
<glossentry><glossterm>store</glossterm>
|
|
|
|
<glossdef><para>The location in the file system where store objects
|
|
live. Typically <filename>/nix/store</filename>.</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
<glossentry><glossterm>store path</glossterm>
|
|
|
|
<glossdef><para>The location in the file system of a store object,
|
|
i.e., an immediate child of the Nix store
|
|
directory.</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
<glossentry><glossterm>store object</glossterm>
|
|
|
|
<glossdef><para>A file that is an immediate child of the Nix store
|
|
directory. These can be regular files, but also entire directory
|
|
trees. Store objects can be sources (objects copied from outside of
|
|
the store), derivation outputs (objects produced by running a build
|
|
action), or derivations (files describing a build
|
|
action).</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
<glossentry id="gloss-substitute"><glossterm>substitute</glossterm>
|
|
|
|
<glossdef><para>A substitute is a command invocation stored in the
|
|
Nix database that describes how to build a store object, bypassing
|
|
normal the build mechanism (i.e., derivations). Typically, the
|
|
substitute builds the store object by downloading a pre-built
|
|
version of the store object from some server.</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
<glossentry><glossterm>purity</glossterm>
|
|
|
|
<glossdef><para>The assumption that equal Nix derivations when run
|
|
always produce the same output. This cannot be guaranteed in
|
|
general (e.g., a builder can rely on external inputs such as the
|
|
network or the system time) but the Nix model assumes
|
|
it.</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
<glossentry><glossterm>Nix expression</glossterm>
|
|
|
|
<glossdef><para>A high-level description of software components and
|
|
compositions thereof. Deploying software using Nix entails writing
|
|
Nix expressions for your components. Nix expressions are translated
|
|
to derivations that are stored in the Nix store. These derivations
|
|
can then be built.</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
<glossentry><glossterm>closure</glossterm>
|
|
|
|
<glossdef><para>The closure of a store path is the set of store
|
|
paths that are directly or indirectly “reachable” from that store
|
|
path. For instance, if the store object at path
|
|
<varname>P</varname> contains a reference to path
|
|
<varname>Q</varname>, then <varname>Q</varname> is in the closure of
|
|
<varname>P</varname>. For correct deployment it is necessary to
|
|
deploy whole closures, since otherwise at runtime files could be
|
|
missing. The command <command>nix-store -qR</command> prints out
|
|
closures of store paths.</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
<glossentry id="gloss-validity"><glossterm>validity</glossterm>
|
|
|
|
<glossdef><para>A store path is considered
|
|
<emphasis>valid</emphasis> if it exists in the file system, is
|
|
listed in the Nix database as being valid, and if all paths in its
|
|
closure are also valid.</para></glossdef>
|
|
|
|
</glossentry>
|
|
|
|
|
|
</glosslist>
|
|
|
|
|
|
</appendix>
|