add a definition of the nix database to the glossary

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
This commit is contained in:
Mike (stew) O'Connor 2023-04-05 10:50:34 +02:00 committed by Valentin Gagarin
parent ed5d0c1362
commit cab5266092

View file

@ -73,10 +73,9 @@
- [binary cache]{#gloss-binary-cache}\ - [binary cache]{#gloss-binary-cache}\
A *binary cache* is a Nix store which uses a different format: its 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 metadata and signatures are kept in `.narinfo` files rather than in a
Nix database. This different format simplifies serving store objects [Nix database]. This different format simplifies serving store objects
over the network, but cannot host builds. Examples of binary caches over the network, but cannot host builds. Examples of binary caches
include S3 buckets and the [NixOS binary include S3 buckets and the [NixOS binary cache](https://cache.nixos.org).
cache](https://cache.nixos.org).
- [store path]{#gloss-store-path}\ - [store path]{#gloss-store-path}\
The location of a [store object] in the file system, i.e., an The location of a [store object] in the file system, i.e., an
@ -109,7 +108,7 @@
[fixed-output derivations](#gloss-fixed-output-derivation). [fixed-output derivations](#gloss-fixed-output-derivation).
- [substitute]{#gloss-substitute}\ - [substitute]{#gloss-substitute}\
A substitute is a command invocation stored in the Nix database that A substitute is a command invocation stored in the [Nix database] that
describes how to build a store object, bypassing the normal build describes how to build a store object, bypassing the normal build
mechanism (i.e., derivations). Typically, the substitute builds the mechanism (i.e., derivations). Typically, the substitute builds the
store object by downloading a pre-built version of the store object store object by downloading a pre-built version of the store object
@ -128,6 +127,14 @@
builder can rely on external inputs such as the network or the builder can rely on external inputs such as the network or the
system time) but the Nix model assumes it. system time) but the Nix model assumes it.
- Nix database{#gloss-nix-database}\
An SQlite database to track [reference]s between [store object]s.
This is an implementation detail of the [local store].
Default location: `/nix/var/nix/db`.
[Nix database]: #gloss-nix-database
- [Nix expression]{#gloss-nix-expression}\ - [Nix expression]{#gloss-nix-expression}\
A high-level description of software packages and compositions A high-level description of software packages and compositions
thereof. Deploying software using Nix entails writing Nix thereof. Deploying software using Nix entails writing Nix
@ -178,7 +185,7 @@
For a [local store], this means: For a [local store], this means:
- The store path leads to an existing [store object] in that [store]. - The store path leads to an existing [store object] in that [store].
- The store path is listed in the Nix database as being valid. - The store path is listed in the [Nix database] as being valid.
- All paths in the store path's [closure] are valid. - All paths in the store path's [closure] are valid.
[validity]: #gloss-validity [validity]: #gloss-validity