aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorGuillaume Girol <symphorien+git@xlumurb.eu>2023-08-23 12:00:00 +0000
committerGuillaume Girol <symphorien+git@xlumurb.eu>2023-08-24 11:37:24 +0200
commit925a444b925590df90e19d3c0071936f87d2b43d (patch)
tree085a36dc6f2972ad5ac676d95231ec29b027a8ea /doc
parent6459a1c7ad1ad1a88fae42f9737e969c6ae89679 (diff)
add nix-store --query --valid-derivers command
notably useful when nix-store --query --deriver returns a non-existing path. Co-authored-by: Felix Uhl <iFreilicht@users.noreply.github.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/src/command-ref/nix-store/query.md14
-rw-r--r--doc/manual/src/release-notes/rl-next.md4
2 files changed, 15 insertions, 3 deletions
diff --git a/doc/manual/src/command-ref/nix-store/query.md b/doc/manual/src/command-ref/nix-store/query.md
index cd45a4932..a158c76aa 100644
--- a/doc/manual/src/command-ref/nix-store/query.md
+++ b/doc/manual/src/command-ref/nix-store/query.md
@@ -5,8 +5,8 @@
# Synopsis
`nix-store` {`--query` | `-q`}
- {`--outputs` | `--requisites` | `-R` | `--references` |
- `--referrers` | `--referrers-closure` | `--deriver` | `-d` |
+ {`--outputs` | `--requisites` | `-R` | `--references` | `--referrers` |
+ `--referrers-closure` | `--deriver` | `-d` | `--valid-derivers` |
`--graph` | `--tree` | `--binding` *name* | `-b` *name* | `--hash` |
`--size` | `--roots`}
[`--use-output`] [`-u`] [`--force-realise`] [`-f`]
@@ -82,13 +82,21 @@ symlink.
in the Nix store that are dependent on *paths*.
- `--deriver`; `-d`\
- Prints the [deriver] of the store paths *paths*. If
+ Prints the [deriver] that was used to build the store paths *paths*. If
the path has no deriver (e.g., if it is a source file), or if the
deriver is not known (e.g., in the case of a binary-only
deployment), the string `unknown-deriver` is printed.
+ The returned deriver is not guaranteed to exist in the local store, for
+ example when *paths* were substituted from a binary cache.
+ Use `--valid-derivers` instead to obtain valid paths only.
[deriver]: ../../glossary.md#gloss-deriver
+ - `--valid-derivers`\
+ Prints a set of derivation files (`.drv`) which are supposed produce
+ said paths when realized. Might print nothing, for example for source paths
+ or paths subsituted from a binary cache.
+
- `--graph`\
Prints the references graph of the store paths *paths* in the format
of the `dot` tool of AT\&T's [Graphviz
diff --git a/doc/manual/src/release-notes/rl-next.md b/doc/manual/src/release-notes/rl-next.md
index 7ddb5ca00..66fe0c427 100644
--- a/doc/manual/src/release-notes/rl-next.md
+++ b/doc/manual/src/release-notes/rl-next.md
@@ -22,3 +22,7 @@
- Introduce a new [`outputOf`](@docroot@/language/builtins.md#builtins-outputOf) builtin.
It is part of the [`dynamic-derivations`](@docroot@/contributing/experimental-features.md#xp-feature-dynamic-derivations) experimental feature.
+
+- [`nix-store --query`](@docroot@/command-ref/nix-store/query.md) gained a new type of query: `--valid-derivers`. It returns all `.drv` files in the local store that *can be* used to build the output passed in argument.
+This is in contrast to `--deriver`, which returns the single `.drv` file that *was actually* used to build the output passed in argument. In case the output was substituted from a binary cache,
+this `.drv` file may only exist on said binary cache and not locally.