Provided by: nix-bin_2.18.1+dfsg-1ubuntu5_amd64 bug

Name

       nix derivation show - show the contents of a store derivation

Synopsis

       nix derivation show [option…] installables

Examples

       •  Show the store derivation that results from evaluating the Hello package:

       # nix derivation show nixpkgs#hello
       {
       "/nix/store/s6rn4jz1sin56rf4qj5b5v8jxjm32hlk-hello-2.10.drv": {
         …
       }
       }

       •  Show the full derivation graph (if available) that produced your NixOS system:

       # nix derivation show -r /run/current-system

       •  Print all files fetched using fetchurl by Firefox’s dependency graph:

       # nix derivation show -r nixpkgs#firefox \
       | jq -r '.[] | select(.outputs.out.hash and .env.urls) | .env.urls' \
       | uniq | sort

              Note  that  .outputs.out.hash  selects  fixed-output  derivations (derivations that
              produce output with a specified content hash), while .env.urls selects  derivations
              with a urls attribute.

Description

       This  command  prints on standard output a JSON representation of the store derivations to
       which installables evaluate.

       Store derivations are used internally by Nix. They are store  paths  with  extension  .drv
       that represent the build-time dependency graph to which a Nix expression evaluates.

       By  default,  this command only shows top-level derivations, but with --recursive, it also
       shows their dependencies.

       The JSON output is a JSON object whose keys are the store paths of  the  derivations,  and
       whose values are a JSON object with the following fields:

       •  name:  The name of the derivation. This is used when calculating the store paths of the
          derivation’s outputs.

       •  outputs: Information about the output paths of the derivation. This is  a  JSON  object
          with  one  member  per output, where the key is the output name and the value is a JSON
          object with these fields:

          •  path: The output path.
          •  hashAlgo:  For  fixed-output  derivations,  the  hashing  algorithm  (e.g.  sha256),
             optionally prefixed by r: if hash denotes a NAR hash rather than a flat file hash.
          •  hash: For fixed-output derivations, the expected content hash in base-16.

          Example:

       "outputs": {
       "out": {
         "path": "/nix/store/2543j7c6jn75blc3drf4g5vhb1rhdq29-source",
         "hashAlgo": "r:sha256",
         "hash": "6fc80dcc62179dbc12fc0b5881275898f93444833d21b89dfe5f7fbcbb1d0d62"
       }
       }

       •  inputSrcs: A list of store paths on which this derivation depends.

       •  inputDrvs:  A  JSON object specifying the derivations on which this derivation depends,
          and what outputs of those derivations. For example,

       "inputDrvs": {
       "/nix/store/6lkh5yi7nlb7l6dr8fljlli5zfd9hq58-curl-7.73.0.drv": ["dev"],
       "/nix/store/fn3kgnfzl5dzym26j8g907gq3kbm8bfh-unzip-6.0.drv": ["out"]
       }

              specifies that this derivation depends on the dev  output  of  curl,  and  the  out
              output of unzip.

       •  system: The system type on which this derivation is to be built (e.g. x86_64-linux).

       •  builder:  The  absolute  path of the program to be executed to run the build. Typically
          this            is             the             bash             shell             (e.g.
          /nix/store/r3j288vpmczbl500w6zz89gyfa4nr0b1-bash-4.4-p23/bin/bash).

       •  args: The command-line arguments passed to the builder.

       •  env: The environment passed to the builder.

Options

       •  --recursive / -r

          Include the dependencies of the specified derivations.

       •  --stdin

          Read installables from the standard input. No default installable applied.

       Common evaluation options:

       •  --arg name expr

          Pass the value expr as the argument name to Nix functions.

       •  --argstr name string

          Pass the string string as the argument name to Nix functions.

       •  --debugger

          Start an interactive environment if evaluation fails.

       •  --eval-store store-url

          The  URL of the Nix store to use for evaluation, i.e. to store derivations (.drv files)
          and inputs referenced by them.

       •  --impure

          Allow access to mutable paths and repositories.

       •  --include / -I path

          Add path to the Nix search path. The Nix search path is  initialized  from  the  colon-
          separated  NIX_PATH  environment  variable,  and is used to look up the location of Nix
          expressions using paths enclosed in angle brackets (i.e., <nixpkgs>).

          For instance, passing

       -I /home/eelco/Dev
       -I /etc/nixos

              will cause Nix to look for paths relative to  /home/eelco/Dev  and  /etc/nixos,  in
              that order. This is equivalent to setting the NIX_PATH environment variable to

       /home/eelco/Dev:/etc/nixos

              It is also possible to match paths against a prefix. For example, passing

       -I nixpkgs=/home/eelco/Dev/nixpkgs-branch
       -I /etc/nixos

              will  cause Nix to search for <nixpkgs/path> in /home/eelco/Dev/nixpkgs-branch/path
              and /etc/nixos/nixpkgs/path.

              If a path in the Nix search path starts with http:// or https://, it is interpreted
              as  the  URL  of  a  tarball  that  will  be downloaded and unpacked to a temporary
              location. The tarball must consist of a single top-level  directory.  For  example,
              passing

       -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz

              tells  Nix  to  download  and  use the current contents of the master branch in the
              nixpkgs repository.

              The URLs of the tarballs from the official nixos.org channels (see the manual  page
              for  nix-channel)  can  be abbreviated as channel:<channel-name>. For instance, the
              following two flags are equivalent:

       -I nixpkgs=channel:nixos-21.05
       -I nixpkgs=https://nixos.org/channels/nixos-21.05/nixexprs.tar.xz

              You can also fetch source trees using flake URLs and add them to the  search  path.
              For instance,

       -I nixpkgs=flake:nixpkgs

              specifies  that  the  prefix nixpkgs shall refer to the source tree downloaded from
              the nixpkgs entry in the flake registry. Similarly,

       -I nixpkgs=flake:github:NixOS/nixpkgs/nixos-22.05

              makes <nixpkgs> refer to a particular branch of  the  NixOS/nixpkgs  repository  on
              GitHub.

       •  --override-flake original-ref resolved-ref

          Override the flake registries, redirecting original-ref to resolved-ref.

       Common flake-related options:

       •  --commit-lock-file

          Commit changes to the flake’s lock file.

       •  --inputs-from flake-url

          Use the inputs of the specified flake as registry entries.

       •  --no-registries

          Don’t  allow  lookups in the flake registries. This option is deprecated; use --no-use-
          registries.

       •  --no-update-lock-file

          Do not allow any updates to the flake’s lock file.

       •  --no-write-lock-file

          Do not write the flake’s newly generated lock file.

       •  --output-lock-file flake-lock-path

          Write the given lock file instead of flake.lock within the top-level flake.

       •  --override-input input-path flake-url

          Override a specific flake input (e.g. dwarffs/nixpkgs). This  implies  --no-write-lock-
          file.

       •  --recreate-lock-file

          Recreate the flake’s lock file from scratch.

       •  --reference-lock-file flake-lock-path

          Read the given lock file instead of flake.lock within the top-level flake.

       •  --update-input input-path

          Update a specific flake input (ignoring its previous entry in the lock file).

       Logging-related options:

       •  --debug

          Set the logging verbosity level to ‘debug’.

       •  --log-format format

          Set the format of log output; one of raw, internal-json, bar or bar-with-logs.

       •  --print-build-logs / -L

          Print full build logs on standard error.

       •  --quiet

          Decrease the logging verbosity level.

       •  --verbose / -v

          Increase the logging verbosity level.

       Miscellaneous global options:

       •  --help

          Show usage information.

       •  --offline

          Disable substituters and consider all previously downloaded files up-to-date.

       •  --option name value

          Set the Nix configuration setting name to value (overriding nix.conf).

       •  --refresh

          Consider all previously downloaded files out-of-date.

       •  --repair

          During  evaluation,  rewrite  missing  or  corrupted  files  in  the  Nix store. During
          building, rebuild missing or corrupted store paths.

       •  --version

          Show version information.

       Options that change the interpretation of installables:

       •  --expr expr

          Interpret installables as attribute paths relative to the Nix expression expr.

       •  --file / -f file

          Interpret installables as attribute paths relative to  the  Nix  expression  stored  in
          file.  If  file  is  the  character -, then a Nix expression will be read from standard
          input. Implies --impure.

       Options to override configuration settings:

       •  --accept-flake-config

          Enable the accept-flake-config setting.

       •  --access-tokens value

          Set the access-tokens setting.

       •  --allow-dirty

          Enable the allow-dirty setting.

       •  --allow-import-from-derivation

          Enable the allow-import-from-derivation setting.

       •  --allow-new-privileges

          Enable the allow-new-privileges setting.

       •  --allow-symlinked-store

          Enable the allow-symlinked-store setting.

       •  --allow-unsafe-native-code-during-evaluation

          Enable the allow-unsafe-native-code-during-evaluation setting.

       •  --allowed-impure-host-deps value

          Set the allowed-impure-host-deps setting.

       •  --allowed-uris value

          Set the allowed-uris setting.

       •  --allowed-users value

          Set the allowed-users setting.

       •  --auto-allocate-uids

          Enable the auto-allocate-uids setting.

       •  --auto-optimise-store

          Enable the auto-optimise-store setting.

       •  --bash-prompt value

          Set the bash-prompt setting.

       •  --bash-prompt-prefix value

          Set the bash-prompt-prefix setting.

       •  --bash-prompt-suffix value

          Set the bash-prompt-suffix setting.

       •  --build-hook value

          Set the build-hook setting.

       •  --build-poll-interval value

          Set the build-poll-interval setting.

       •  --build-users-group value

          Set the build-users-group setting.

       •  --builders value

          Set the builders setting.

       •  --builders-use-substitutes

          Enable the builders-use-substitutes setting.

       •  --commit-lockfile-summary value

          Set the commit-lockfile-summary setting.

       •  --compress-build-log

          Enable the compress-build-log setting.

       •  --connect-timeout value

          Set the connect-timeout setting.

       •  --cores value

          Set the cores setting.

       •  --diff-hook value

          Set the diff-hook setting.

       •  --download-attempts value

          Set the download-attempts setting.

       •  --download-speed value

          Set the download-speed setting.

       •  --eval-cache

          Enable the eval-cache setting.

       •  --experimental-features value

          Set the experimental-features setting.

       •  --extra-access-tokens value

          Append to the access-tokens setting.

       •  --extra-allowed-impure-host-deps value

          Append to the allowed-impure-host-deps setting.

       •  --extra-allowed-uris value

          Append to the allowed-uris setting.

       •  --extra-allowed-users value

          Append to the allowed-users setting.

       •  --extra-build-hook value

          Append to the build-hook setting.

       •  --extra-experimental-features value

          Append to the experimental-features setting.

       •  --extra-extra-platforms value

          Append to the extra-platforms setting.

       •  --extra-hashed-mirrors value

          Append to the hashed-mirrors setting.

       •  --extra-ignored-acls value

          Append to the ignored-acls setting.

       •  --extra-nix-path value

          Append to the nix-path setting.

       •  --extra-platforms value

          Set the extra-platforms setting.

       •  --extra-plugin-files value

          Append to the plugin-files setting.

       •  --extra-sandbox-paths value

          Append to the sandbox-paths setting.

       •  --extra-secret-key-files value

          Append to the secret-key-files setting.

       •  --extra-substituters value

          Append to the substituters setting.

       •  --extra-system-features value

          Append to the system-features setting.

       •  --extra-trusted-public-keys value

          Append to the trusted-public-keys setting.

       •  --extra-trusted-substituters value

          Append to the trusted-substituters setting.

       •  --extra-trusted-users value

          Append to the trusted-users setting.

       •  --fallback

          Enable the fallback setting.

       •  --filter-syscalls

          Enable the filter-syscalls setting.

       •  --flake-registry value

          Set the flake-registry setting.

       •  --fsync-metadata

          Enable the fsync-metadata setting.

       •  --gc-reserved-space value

          Set the gc-reserved-space setting.

       •  --hashed-mirrors value

          Set the hashed-mirrors setting.

       •  --http-connections value

          Set the http-connections setting.

       •  --http2

          Enable the http2 setting.

       •  --id-count value

          Set the id-count setting.

       •  --ignore-try

          Enable the ignore-try setting.

       •  --ignored-acls value

          Set the ignored-acls setting.

       •  --impersonate-linux-26

          Enable the impersonate-linux-26 setting.

       •  --keep-build-log

          Enable the keep-build-log setting.

       •  --keep-derivations

          Enable the keep-derivations setting.

       •  --keep-env-derivations

          Enable the keep-env-derivations setting.

       •  --keep-failed

          Enable the keep-failed setting.

       •  --keep-going

          Enable the keep-going setting.

       •  --keep-outputs

          Enable the keep-outputs setting.

       •  --log-lines value

          Set the log-lines setting.

       •  --max-build-log-size value

          Set the max-build-log-size setting.

       •  --max-free value

          Set the max-free setting.

       •  --max-jobs value

          Set the max-jobs setting.

       •  --max-silent-time value

          Set the max-silent-time setting.

       •  --max-substitution-jobs value

          Set the max-substitution-jobs setting.

       •  --min-free value

          Set the min-free setting.

       •  --min-free-check-interval value

          Set the min-free-check-interval setting.

       •  --nar-buffer-size value

          Set the nar-buffer-size setting.

       •  --narinfo-cache-negative-ttl value

          Set the narinfo-cache-negative-ttl setting.

       •  --narinfo-cache-positive-ttl value

          Set the narinfo-cache-positive-ttl setting.

       •  --netrc-file value

          Set the netrc-file setting.

       •  --nix-path value

          Set the nix-path setting.

       •  --no-accept-flake-config

          Disable the accept-flake-config setting.

       •  --no-allow-dirty

          Disable the allow-dirty setting.

       •  --no-allow-import-from-derivation

          Disable the allow-import-from-derivation setting.

       •  --no-allow-new-privileges

          Disable the allow-new-privileges setting.

       •  --no-allow-symlinked-store

          Disable the allow-symlinked-store setting.

       •  --no-allow-unsafe-native-code-during-evaluation

          Disable the allow-unsafe-native-code-during-evaluation setting.

       •  --no-auto-allocate-uids

          Disable the auto-allocate-uids setting.

       •  --no-auto-optimise-store

          Disable the auto-optimise-store setting.

       •  --no-builders-use-substitutes

          Disable the builders-use-substitutes setting.

       •  --no-compress-build-log

          Disable the compress-build-log setting.

       •  --no-eval-cache

          Disable the eval-cache setting.

       •  --no-fallback

          Disable the fallback setting.

       •  --no-filter-syscalls

          Disable the filter-syscalls setting.

       •  --no-fsync-metadata

          Disable the fsync-metadata setting.

       •  --no-http2

          Disable the http2 setting.

       •  --no-ignore-try

          Disable the ignore-try setting.

       •  --no-impersonate-linux-26

          Disable the impersonate-linux-26 setting.

       •  --no-keep-build-log

          Disable the keep-build-log setting.

       •  --no-keep-derivations

          Disable the keep-derivations setting.

       •  --no-keep-env-derivations

          Disable the keep-env-derivations setting.

       •  --no-keep-failed

          Disable the keep-failed setting.

       •  --no-keep-going

          Disable the keep-going setting.

       •  --no-keep-outputs

          Disable the keep-outputs setting.

       •  --no-preallocate-contents

          Disable the preallocate-contents setting.

       •  --no-print-missing

          Disable the print-missing setting.

       •  --no-pure-eval

          Disable the pure-eval setting.

       •  --no-require-drop-supplementary-groups

          Disable the require-drop-supplementary-groups setting.

       •  --no-require-sigs

          Disable the require-sigs setting.

       •  --no-restrict-eval

          Disable the restrict-eval setting.

       •  --no-run-diff-hook

          Disable the run-diff-hook setting.

       •  --no-sandbox

          Disable sandboxing.

       •  --no-sandbox-fallback

          Disable the sandbox-fallback setting.

       •  --no-show-trace

          Disable the show-trace setting.

       •  --no-substitute

          Disable the substitute setting.

       •  --no-sync-before-registering

          Disable the sync-before-registering setting.

       •  --no-trace-function-calls

          Disable the trace-function-calls setting.

       •  --no-trace-verbose

          Disable the trace-verbose setting.

       •  --no-use-case-hack

          Disable the use-case-hack setting.

       •  --no-use-cgroups

          Disable the use-cgroups setting.

       •  --no-use-registries

          Disable the use-registries setting.

       •  --no-use-sqlite-wal

          Disable the use-sqlite-wal setting.

       •  --no-use-xdg-base-directories

          Disable the use-xdg-base-directories setting.

       •  --no-warn-dirty

          Disable the warn-dirty setting.

       •  --plugin-files value

          Set the plugin-files setting.

       •  --post-build-hook value

          Set the post-build-hook setting.

       •  --pre-build-hook value

          Set the pre-build-hook setting.

       •  --preallocate-contents

          Enable the preallocate-contents setting.

       •  --print-missing

          Enable the print-missing setting.

       •  --pure-eval

          Enable the pure-eval setting.

       •  --relaxed-sandbox

          Enable sandboxing, but allow builds to disable it.

       •  --require-drop-supplementary-groups

          Enable the require-drop-supplementary-groups setting.

       •  --require-sigs

          Enable the require-sigs setting.

       •  --restrict-eval

          Enable the restrict-eval setting.

       •  --run-diff-hook

          Enable the run-diff-hook setting.

       •  --sandbox

          Enable sandboxing.

       •  --sandbox-build-dir value

          Set the sandbox-build-dir setting.

       •  --sandbox-dev-shm-size value

          Set the sandbox-dev-shm-size setting.

       •  --sandbox-fallback

          Enable the sandbox-fallback setting.

       •  --sandbox-paths value

          Set the sandbox-paths setting.

       •  --secret-key-files value

          Set the secret-key-files setting.

       •  --show-trace

          Enable the show-trace setting.

       •  --ssl-cert-file value

          Set the ssl-cert-file setting.

       •  --stalled-download-timeout value

          Set the stalled-download-timeout setting.

       •  --start-id value

          Set the start-id setting.

       •  --store value

          Set the store setting.

       •  --substitute

          Enable the substitute setting.

       •  --substituters value

          Set the substituters setting.

       •  --sync-before-registering

          Enable the sync-before-registering setting.

       •  --system value

          Set the system setting.

       •  --system-features value

          Set the system-features setting.

       •  --tarball-ttl value

          Set the tarball-ttl setting.

       •  --timeout value

          Set the timeout setting.

       •  --trace-function-calls

          Enable the trace-function-calls setting.

       •  --trace-verbose

          Enable the trace-verbose setting.

       •  --trusted-public-keys value

          Set the trusted-public-keys setting.

       •  --trusted-substituters value

          Set the trusted-substituters setting.

       •  --trusted-users value

          Set the trusted-users setting.

       •  --use-case-hack

          Enable the use-case-hack setting.

       •  --use-cgroups

          Enable the use-cgroups setting.

       •  --use-registries

          Enable the use-registries setting.

       •  --use-sqlite-wal

          Enable the use-sqlite-wal setting.

       •  --use-xdg-base-directories

          Enable the use-xdg-base-directories setting.

       •  --user-agent-suffix value

          Set the user-agent-suffix setting.

       •  --warn-dirty

          Enable the warn-dirty setting.

                                                                          nix3-derivation-show(1)