2023-03-21 13:37:09 +00:00
|
|
|
R"(
|
|
|
|
|
|
|
|
Nix supports different types of stores. These are described below.
|
|
|
|
|
2023-03-22 13:23:36 +00:00
|
|
|
## Store URL format
|
|
|
|
|
2023-03-23 09:38:48 +00:00
|
|
|
Stores are specified using a URL-like syntax. For example, the command
|
|
|
|
|
|
|
|
```console
|
|
|
|
# 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:
|
|
|
|
|
2023-03-23 14:32:59 +00:00
|
|
|
* Use the [local store](#local-store) `/nix/store` if `/nix/var/nix`
|
|
|
|
is writable by the current user.
|
2023-03-23 09:38:48 +00:00
|
|
|
|
|
|
|
* Otherwise, if `/nix/var/nix/daemon-socket/socket` exists, [connect
|
|
|
|
to the Nix daemon listening on that socket](#local-daemon-store).
|
|
|
|
|
2023-03-23 14:32:59 +00:00
|
|
|
* Otherwise, on Linux only, use the [local chroot store](#local-store)
|
2023-03-23 09:38:48 +00:00
|
|
|
`~/.local/share/nix/root`, which will be created automatically if it
|
|
|
|
does not exist.
|
|
|
|
|
2023-03-23 14:32:59 +00:00
|
|
|
* Otherwise, use the [local store](#local-store) `/nix/store`.
|
2023-03-22 13:23:36 +00:00
|
|
|
|
2023-03-21 13:37:09 +00:00
|
|
|
@stores@
|
|
|
|
|
|
|
|
)"
|