Provided by: nix-bin_2.16.1+dfsg-3ubuntu1_amd64 bug

Name

       nix help-stores - show help about store types and their settings

Synopsis

       nix help-stores [option…]

       Nix supports different types of stores. These are described below.

   Store URL format
       Stores are specified using a URL-like syntax. For example, the command

       # nix path-info --store https://cache.nixos.org/ --json \
         /nix/store/a7gvj343m05j2s32xcnwr35v31ynlypr-coreutils-9.1

       fetches   information   about   a   store  path  in  the  HTTP  binary  cache  located  at
       https://cache.nixos.org/, which is a type of store.

       Store URLs can  specify  store  settings  using  URL  query  strings,  i.e.  by  appending
       ?name1=value1&name2=value2&... to the URL. For instance,

       --store ssh://machine.example.org?ssh-key=/path/to/my/key

       tells  Nix  to  access  the  store  on  a  remote  machine  via  the  SSH  protocol, using
       /path/to/my/key as the SSH private key. The supported settings for  each  store  type  are
       documented below.

       The special store URL auto causes Nix to automatically select a store as follows:

       • Use the local store /nix/store if /nix/var/nix is writable by the current user.

       • Otherwise,  if  /nix/var/nix/daemon-socket/socket  exists,  connect  to  the  Nix daemon
         listening on that socket.

       • Otherwise, on Linux only, use the local chroot store ~/.local/share/nix/root, which will
         be created automatically if it does not exist.

       • Otherwise, use the local store /nix/store.

   Dummy Store
       Store URL format: dummy://

       This  store type represents a store that contains no store paths and cannot be written to.
       It’s useful when you want to use the Nix evaluator when no actual Nix store exists, e.g.

       # nix eval --store dummy:// --expr '1 + 2'

       Settings:

       • path-info-cache-size

         Size of the in-memory store path metadata cache.

         Default: 65536

       • priority

         Priority of this store when used  as  a  substituter.  A  lower  value  means  a  higher
         priority.

         Default: 0

       • store

         Logical location of the Nix store, usually /nix/store. Note that you can only copy store
         paths between stores if they have the same store setting.

         Default: /nix/store

       • system-features

         Optional features that the system this store builds on implements (like “kvm”).

         Default: benchmark big-parallel nixos-test uid-range

       • trusted

         Whether paths from this store can be used as substitutes even if they are not signed  by
         a key listed in the trusted-public-keys setting.

         Default: false

       • want-mass-query

         Whether  this  store  (when  used  as a substituter) can be queried efficiently for path
         validity.

         Default: false

   Experimental SSH Store
       Store URL format: ssh-ng://[username@]hostname

       Experimental store type that allows full access to a Nix store on a remote machine.

       Settings:

       • base64-ssh-public-host-key

         The public host key of the remote machine.

         Default: empty

       • compress

         Whether to enable SSH compression.

         Default: false

       • max-connection-age

         Maximum age of a connection before it is closed.

         Default: 4294967295

       • max-connections

         Maximum number of concurrent connections to the Nix daemon.

         Default: 1

       • path-info-cache-size

         Size of the in-memory store path metadata cache.

         Default: 65536

       • priority

         Priority of this store when used  as  a  substituter.  A  lower  value  means  a  higher
         priority.

         Default: 0

       • remote-program

         Path to the nix-daemon executable on the remote machine.

         Default: nix-daemon

       • remote-store

         Store URL to be used on the remote machine. The default is auto (i.e. use the Nix daemon
         or /nix/store directly).

         Default: empty

       • ssh-key

         Path to the SSH private key used to authenticate to the remote machine.

         Default: empty

       • store

         Logical location of the Nix store, usually /nix/store. Note that you can only copy store
         paths between stores if they have the same store setting.

         Default: /nix/store

       • system-features

         Optional features that the system this store builds on implements (like “kvm”).

         Default: benchmark big-parallel nixos-test uid-range

       • trusted

         Whether  paths from this store can be used as substitutes even if they are not signed by
         a key listed in the trusted-public-keys setting.

         Default: false

       • want-mass-query

         Whether this store (when used as a substituter) can  be  queried  efficiently  for  path
         validity.

         Default: false

   HTTP Binary Cache Store
       Store URL format: http://..., https://...

       This store allows a binary cache to be accessed via the HTTP protocol.

       Settings:

       • compression

         NAR compression method (xz, bzip2, gzip, zstd, or none).

         Default: xz

       • compression-level

         The  preset  level  to  be  used when compressing NARs.  The meaning and accepted values
         depend on the compression method selected.  -1 specifies that  the  default  compression
         level should be used.

         Default: -1

       • index-debug-info

         Whether  to index DWARF debug info files by build ID. This allows dwarffs to fetch debug
         info on demand

         Default: false

       • local-nar-cache

         Path to a local cache of NARs fetched from this binary cache, used by commands  such  as
         nix store cat.

         Default: empty

       • parallel-compression

         Enable  multi-threaded  compression of NARs. This is currently only available for xz and
         zstd.

         Default: false

       • path-info-cache-size

         Size of the in-memory store path metadata cache.

         Default: 65536

       • priority

         Priority of this store when used  as  a  substituter.  A  lower  value  means  a  higher
         priority.

         Default: 0

       • secret-key

         Path to the secret key used to sign the binary cache.

         Default: empty

       • store

         Logical location of the Nix store, usually /nix/store. Note that you can only copy store
         paths between stores if they have the same store setting.

         Default: /nix/store

       • system-features

         Optional features that the system this store builds on implements (like “kvm”).

         Default: benchmark big-parallel nixos-test uid-range

       • trusted

         Whether paths from this store can be used as substitutes even if they are not signed  by
         a key listed in the trusted-public-keys setting.

         Default: false

       • want-mass-query

         Whether  this  store  (when  used  as a substituter) can be queried efficiently for path
         validity.

         Default: false

       • write-nar-listing

         Whether to write a JSON file that lists the files in each NAR.

         Default: false

   Local Binary Cache Store
       Store URL format: file://path

       This store allows reading and  writing  a  binary  cache  stored  in  path  in  the  local
       filesystem. If path does not exist, it will be created.

       For example, the following builds or downloads nixpkgs#hello into the local store and then
       copies it to the binary cache in /tmp/binary-cache:

       # nix copy --to file:///tmp/binary-cache nixpkgs#hello

       Settings:

       • compression

         NAR compression method (xz, bzip2, gzip, zstd, or none).

         Default: xz

       • compression-level

         The preset level to be used when compressing NARs.   The  meaning  and  accepted  values
         depend  on  the  compression method selected.  -1 specifies that the default compression
         level should be used.

         Default: -1

       • index-debug-info

         Whether to index DWARF debug info files by build ID. This allows dwarffs to fetch  debug
         info on demand

         Default: false

       • local-nar-cache

         Path  to  a local cache of NARs fetched from this binary cache, used by commands such as
         nix store cat.

         Default: empty

       • parallel-compression

         Enable multi-threaded compression of NARs. This is currently only available for  xz  and
         zstd.

         Default: false

       • path-info-cache-size

         Size of the in-memory store path metadata cache.

         Default: 65536

       • priority

         Priority  of  this  store  when  used  as  a  substituter.  A lower value means a higher
         priority.

         Default: 0

       • secret-key

         Path to the secret key used to sign the binary cache.

         Default: empty

       • store

         Logical location of the Nix store, usually /nix/store. Note that you can only copy store
         paths between stores if they have the same store setting.

         Default: /nix/store

       • system-features

         Optional features that the system this store builds on implements (like “kvm”).

         Default: benchmark big-parallel nixos-test uid-range

       • trusted

         Whether  paths from this store can be used as substitutes even if they are not signed by
         a key listed in the trusted-public-keys setting.

         Default: false

       • want-mass-query

         Whether this store (when used as a substituter) can  be  queried  efficiently  for  path
         validity.

         Default: false

       • write-nar-listing

         Whether to write a JSON file that lists the files in each NAR.

         Default: false

   Local Daemon Store
       Store URL format: daemon, unix://path

       This  store  type  accesses  a  Nix store by talking to a Nix daemon listening on the Unix
       domain   socket    path.    The    store    pseudo-URL    daemon    is    equivalent    to
       unix:///nix/var/nix/daemon-socket/socket.

       Settings:

       • log

         directory where Nix will store log files.

         Default: /nix/var/log/nix

       • max-connection-age

         Maximum age of a connection before it is closed.

         Default: 4294967295

       • max-connections

         Maximum number of concurrent connections to the Nix daemon.

         Default: 1

       • path-info-cache-size

         Size of the in-memory store path metadata cache.

         Default: 65536

       • priority

         Priority  of  this  store  when  used  as  a  substituter.  A lower value means a higher
         priority.

         Default: 0

       • real

         Physical path of the Nix store.

         Default: /nix/store

       • root

         Directory prefixed to all other paths.

         Default: empty

       • state

         Directory where Nix will store state.

         Default: /dummy

       • store

         Logical location of the Nix store, usually /nix/store. Note that you can only copy store
         paths between stores if they have the same store setting.

         Default: /nix/store

       • system-features

         Optional features that the system this store builds on implements (like “kvm”).

         Default: benchmark big-parallel nixos-test uid-range

       • trusted

         Whether  paths from this store can be used as substitutes even if they are not signed by
         a key listed in the trusted-public-keys setting.

         Default: false

       • want-mass-query

         Whether this store (when used as a substituter) can  be  queried  efficiently  for  path
         validity.

         Default: false

   Local Store
       Store URL format: local, root

       This  store  type  accesses a Nix store in the local filesystem directly (i.e. not via the
       Nix daemon). root is an absolute path that is prefixed to other directories  such  as  the
       Nix  store  directory.  The store pseudo-URL local denotes a store that uses / as its root
       directory.

       A store that uses a root other than / is called a chroot  store.  With  such  stores,  the
       store  directory  is  “logically” still /nix/store, so programs stored in them can only be
       built and executed by chroot-ing into  root.  Chroot  stores  only  support  building  and
       running on Linux when mount namespaces and user namespaces are enabled.

       For  example,  the following uses /tmp/root as the chroot environment to build or download
       nixpkgs#hello and then execute it:

       # nix run --store /tmp/root nixpkgs#hello
       Hello, world!

       Here, the “physical” store location is /tmp/root/nix/store, and Nix’s store metadata is in
       /tmp/root/nix/var/nix/db.

       It  is  also  possible,  but  not recommended, to change the “logical” location of the Nix
       store from its default of /nix/store. This makes it impossible to use default substituters
       such  as https://cache.nixos.org/, and thus you may have to build everything locally. Here
       is an example:

       # nix build --store 'local?store=/tmp/my-nix/store&state=/tmp/my-nix/state&log=/tmp/my-nix/log' nixpkgs#hello

       Settings:

       • log

         directory where Nix will store log files.

         Default: /nix/var/log/nix

       • path-info-cache-size

         Size of the in-memory store path metadata cache.

         Default: 65536

       • priority

         Priority of this store when used  as  a  substituter.  A  lower  value  means  a  higher
         priority.

         Default: 0

       • real

         Physical path of the Nix store.

         Default: /nix/store

       • require-sigs

         Whether store paths copied into this store should have a trusted signature.

         Default: true

       • root

         Directory prefixed to all other paths.

         Default: empty

       • state

         Directory where Nix will store state.

         Default: /dummy

       • store

         Logical location of the Nix store, usually /nix/store. Note that you can only copy store
         paths between stores if they have the same store setting.

         Default: /nix/store

       • system-features

         Optional features that the system this store builds on implements (like “kvm”).

         Default: benchmark big-parallel nixos-test uid-range

       • trusted

         Whether paths from this store can be used as substitutes even if they are not signed  by
         a key listed in the trusted-public-keys setting.

         Default: false

       • want-mass-query

         Whether  this  store  (when  used  as a substituter) can be queried efficiently for path
         validity.

         Default: false

   SSH Store
       Store URL format: ssh://[username@]hostname

       This store type allows limited access to a remote store on another machine via SSH.

       Settings:

       • base64-ssh-public-host-key

         The public host key of the remote machine.

         Default: empty

       • compress

         Whether to enable SSH compression.

         Default: false

       • max-connections

         Maximum number of concurrent SSH connections.

         Default: 1

       • path-info-cache-size

         Size of the in-memory store path metadata cache.

         Default: 65536

       • priority

         Priority of this store when used  as  a  substituter.  A  lower  value  means  a  higher
         priority.

         Default: 0

       • remote-program

         Path to the nix-store executable on the remote machine.

         Default: nix-store

       • remote-store

         Store URL to be used on the remote machine. The default is auto (i.e. use the Nix daemon
         or /nix/store directly).

         Default: empty

       • ssh-key

         Path to the SSH private key used to authenticate to the remote machine.

         Default: empty

       • store

         Logical location of the Nix store, usually /nix/store. Note that you can only copy store
         paths between stores if they have the same store setting.

         Default: /nix/store

       • system-features

         Optional features that the system this store builds on implements (like “kvm”).

         Default: benchmark big-parallel nixos-test uid-range

       • trusted

         Whether  paths from this store can be used as substitutes even if they are not signed by
         a key listed in the trusted-public-keys setting.

         Default: false

       • want-mass-query

         Whether this store (when used as a substituter) can  be  queried  efficiently  for  path
         validity.

         Default: false

                                                                              nix3-help-stores(1)