Provided by: nix-bin_2.18.1+dfsg-1ubuntu5_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: ``

       •  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

       •  read-only

          Allow this store to be opened when its database is on a read-only filesystem.

          Normally  Nix  will  attempt  to  open  the store database in read-write mode, even for
          querying (when write access is not needed), causing it to fail if the database is on  a
          read-only filesystem.

          Enable  read-only  mode  to  disable  locking  and  open  the  SQLite database with the
          immutable parameter set.

                 Warning Do not use this unless the filesystem is read-only.

                 Using it when the filesystem is writable can cause incorrect  query  results  or
                 corruption  errors  if  the  database  is changed by another process.  While the
                 filesystem the database resides  on  might  appear  to  be  read-only,  consider
                 whether another user or system might have write access to it.

          Default: false

       •  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: ``

       •  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)