nix3-derivation-show(1) General Commands Manual nix3-derivation-show(1) Warning This program is experimental <@docroot@/development/experimental-features.md#xp-feature-nix-command> and its interface is subject to change. Name nix derivation show - show the contents of a store derivation Synopsis nix derivation show [option] installables Examples o Show the store derivation <@docroot@/glossary.md#gloss-store-derivation> that results from evaluating the Hello package: # nix derivation show nixpkgs#hello { "/nix/store/s6rn4jz1sin56rf4qj5b5v8jxjm32hlk-hello-2.10.drv": { } } o Show the full derivation graph (if available) that produced your NixOS system: # nix derivation show -r /run/current-system o 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 derivation <@docroot@/glossary.md#gloss-store-derivation>s to which installables <./nix.md#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. nix derivation show outputs a JSON map of store path <@docroot@/store/store-path.md>s to derivations in the following format: {{#include ../../protocols/json/derivation.md}} Options o --recursive <#opt-recursive> / -r Include the dependencies of the specified derivations. o --stdin <#opt-stdin> Read installables from the standard input. No default installable applied. Common evaluation options o --arg <#opt-arg> name expr Pass the value expr as the argument name to Nix functions. o --arg-from-file <#opt-arg-from-file> name path Pass the contents of file path as the argument name to Nix functions. o --arg-from-stdin <#opt-arg-from-stdin> name Pass the contents of stdin as the argument name to Nix functions. o --argstr <#opt-argstr> name string Pass the string string as the argument name to Nix functions. o --debugger <#opt-debugger> Start an interactive environment if evaluation fails. o --eval-store <#opt-eval-store> store-url The URL of the Nix store <@docroot@/store/types/index.md#store-url-format> to use for evaluation, i.e. to store derivations (.drv files) and inputs referenced by them. o --impure <#opt-impure> Allow access to mutable paths and repositories. o --include <#opt-include> / -I path Add path to search path entries used to resolve lookup paths <@docroot@/language/constructs/lookup-path.md> This option may be given multiple times. Paths added through -I take precedence over the nix-path configuration setting <@docroot@/command-ref/conf-file.md#conf-nix-path> and the NIX_PATH environment variable <@docroot@/command-ref/env-common.md#env-NIX_PATH>. o --override-flake <#opt-override-flake> original-ref resolved-ref Override the flake registries, redirecting original-ref to resolved- ref. Common flake-related options o --commit-lock-file <#opt-commit-lock-file> Commit changes to the flake's lock file. o --inputs-from <#opt-inputs-from> flake-url Use the inputs of the specified flake as registry entries. o --no-registries <#opt-no-registries> Don't allow lookups in the flake registries. DEPRECATED Use --no-use-registries <#opt-no-use-registries> instead. o --no-update-lock-file <#opt-no-update-lock-file> Do not allow any updates to the flake's lock file. o --no-write-lock-file <#opt-no-write-lock-file> Do not write the flake's newly generated lock file. o --output-lock-file <#opt-output-lock-file> flake-lock-path Write the given lock file instead of flake.lock within the top-level flake. o --override-input <#opt-override-input> input-path flake-url Override a specific flake input (e.g. dwarffs/nixpkgs). This implies --no-write-lock-file. o --recreate-lock-file <#opt-recreate-lock-file> Recreate the flake's lock file from scratch. DEPRECATED Use nix flake update <@docroot@/command-ref/new-cli/nix3-flake-update.md> instead. o --reference-lock-file <#opt-reference-lock-file> flake-lock-path Read the given lock file instead of flake.lock within the top-level flake. o --update-input <#opt-update-input> input-path Update a specific flake input (ignoring its previous entry in the lock file). DEPRECATED Use nix flake update <@docroot@/command-ref/new-cli/nix3-flake-update.md> instead. Logging-related options o --debug <#opt-debug> Set the logging verbosity level to `debug'. o --log-format <#opt-log-format> format Set the format of log output; one of raw, internal-json, bar or bar- with-logs. o --print-build-logs <#opt-print-build-logs> / -L Print full build logs on standard error. o --quiet <#opt-quiet> Decrease the logging verbosity level. o --verbose <#opt-verbose> / -v Increase the logging verbosity level. Miscellaneous global options o --help <#opt-help> Show usage information. o --offline <#opt-offline> Disable substituters and consider all previously downloaded files up-to-date. o --option <#opt-option> name value Set the Nix configuration setting name to value (overriding nix.conf). o --refresh <#opt-refresh> Consider all previously downloaded files out-of-date. o --repair <#opt-repair> During evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths. o --version <#opt-version> Show version information. Options that change the interpretation of installables o --expr <#opt-expr> expr Interpret installables <@docroot@/command-ref/new-cli/nix.md#installables> as attribute paths relative to the Nix expression expr. o --file <#opt-file> / -f file Interpret installables <@docroot@/command-ref/new-cli/nix.md#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. Note See man nix.conf <@docroot@/command-ref/conf-file.md#command-line-flags> for overriding configuration settings with command line flags. nix3-derivation-show(1)