aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/glossary.md
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2022-08-05 10:39:43 -0700
committerAdam Joseph <adam@westernsemico.com>2022-08-05 10:39:43 -0700
commit1d3b92e80ca1564bf2c5ee207df707e215188633 (patch)
treef6ec707a3048d647634a704746c35b0a33578f26 /doc/manual/src/glossary.md
parent4de95f7f565df71d8ebddb7434e2b0feb49a833b (diff)
move package-management/terminology into glossary.md
Diffstat (limited to 'doc/manual/src/glossary.md')
-rw-r--r--doc/manual/src/glossary.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/manual/src/glossary.md b/doc/manual/src/glossary.md
index aa0ac78cb..f4c51588d 100644
--- a/doc/manual/src/glossary.md
+++ b/doc/manual/src/glossary.md
@@ -11,6 +11,32 @@
The location in the file system where store objects live. Typically
`/nix/store`.
+ From the perspective of the location where Nix is
+ invoked<sup><b>1</b></sup>, the Nix store can be referred to
+ as a "_local_" or a "_remote_" one:
+
+ <sup>\[1]: Where "invoking Nix" means an executing a Nix core
+ action/operation on a Nix store. For example, using any CLI
+ commands from the `NixOS/nix` implementation.</sup>
+
+ + A *local store* exists on the local filesystem of
+ the machine where Nix is invoked. You can use other
+ local stores by passing the `--store` flag to the
+ `nix` command.
+
+ + A *remote store* exists anywhere other than the
+ local filesystem. One example is the `/nix/store`
+ directory on another machine, accessed via `ssh` or
+ served by the `nix-serve` Perl script.
+
+ - [binary cache]{#binary-cache}\
+ A *binary cache* is a Nix store which uses a different format: its
+ metadata and signatures are kept in `.narinfo` files rather than in a
+ Nix database. This different format simplifies serving store objects
+ over the network, but cannot host builds. Examples of binary caches
+ include S3 buckets and the [NixOS binary
+ cache](https://cache.nixos.org).
+
- [store path]{#gloss-store-path}\
The location in the file system of a store object, i.e., an
immediate child of the Nix store directory.
@@ -29,6 +55,17 @@
store object by downloading a pre-built version of the store object
from some server.
+ - [substituter]{#gloss-substituter}\
+ A *substituter* is a store other than `/nix/store` from which Nix will
+ copy a store path instead of building it. Nix will not copy a store
+ path from a remote store unless one of the following is true:
+
+ - the store object is signed by one of the `trusted-public-keys`
+ - the substituter is in the `trusted-substituters` list
+ - the `no-require-sigs` option has been set to disable signature checking
+ - the store object is a derivation
+ - the store object is the realisation of a fixed-output derivation
+
- [purity]{#gloss-purity}\
The assumption that equal Nix derivations when run always produce
the same output. This cannot be guaranteed in general (e.g., a