FreeBSD Manual Pages
nix3-derivation-show(1) General Commands Manual nix3-derivation-show(1) Warning This program is experimental <../../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 • Show the store derivation <../../glossary.md#gloss-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 derivation <../../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 <../../store/store-path.md>s to derivations in the following format: Derivation JSON Format Warning This JSON format is currently experimental <../../development/experimental-features.md#xp-feature-nix- command> and subject to change. The JSON serialization of a derivations <../../glossary.md#gloss-store- derivation> is 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, if it is known in advanced. Otherwise, null. • method: For an output which will be [content addressed], a string representing the method <../../store/store-object/content- address.md> of content addressing that is chosen. Valid method strings are: • flat <../../store/store-object/content-address.md#method-flat> • nar <../../store/store-object/content-address.md#method-nix- archive> • text <../../store/store-object/content-address.md#method-text> • git <../../store/store-object/content-address.md#method-git> Otherwise, null. • hashAlgo: For an output which will be [content addressed], the name of the hash algorithm used. Valid algorithm strings are: • blake3 • md5 • sha1 • sha256 • sha512 • hash: For fixed-output derivations, the expected content hash in base-16. Example "outputs": { "out": { "path": "/nix/store/2543j7c6jn75blc3drf4g5vhb1rhdq29-source", "method": "nar", "hashAlgo": "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. 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/r3j288vpm- czbl500w6zz89gyfa4nr0b1-bash-4.4-p23/bin/bash). • args: The command-line arguments passed to the builder. • env: The environment passed to the builder. • structuredAttrs: Strucutured Attributes <../../store/derivation/in- dex.md#structured-attrs>, only defined if the derivation contains them. Structured attributes are JSON, and thus embedded as-is. Options • --no-pretty <#opt-no-pretty> Print compact JSON output on a single line, even when the output is a terminal. Some commands may print multiple JSON objects on sepa- rate lines. See `--pretty`. • --pretty <#opt-pretty> Print multi-line, indented JSON output for readability. Default: indent if output is to a terminal. This option is only effective when `--json` is also specified. • --recursive <#opt-recursive> / -r Include the dependencies of the specified derivations. • --stdin <#opt-stdin> Read installables from the standard input. No default installable applied. Common evaluation options • --arg <#opt-arg> name expr Pass the value expr as the argument name to Nix functions. • --arg-from-file <#opt-arg-from-file> name path Pass the contents of file path as the argument name to Nix func- tions. • --arg-from-stdin <#opt-arg-from-stdin> name Pass the contents of stdin as the argument name to Nix functions. • --argstr <#opt-argstr> name string Pass the string string as the argument name to Nix functions. • --debugger <#opt-debugger> Start an interactive environment if evaluation fails. • --eval-store <#opt-eval-store> store-url The URL of the Nix store <../../store/types/index.md#store-url- format> to use for evaluation, i.e. to store derivations (.drv files) and inputs referenced by them. • --impure <#opt-impure> Allow access to mutable paths and repositories. • --include <#opt-include> / -I path Add path to search path entries used to resolve lookup paths <../../language/constructs/lookup-path.md> This option may be given multiple times. Paths added through -I take precedence over the nix-path configura- tion setting <../../command-ref/conf-file.md#conf-nix-path> and the NIX_PATH environment variable <../../command-ref/env-common.md#env- NIX_PATH>. • --override-flake <#opt-override-flake> original-ref resolved-ref Override the flake registries, redirecting original-ref to resolved- ref. Common flake-related options • --commit-lock-file <#opt-commit-lock-file> Commit changes to the flake's lock file. • --inputs-from <#opt-inputs-from> flake-url Use the inputs of the specified flake as registry entries. • --no-registries <#opt-no-registries> Don't allow lookups in the flake registries. DEPRECATED Use --no-use-registries <../../command-ref/conf-file.md#conf- use-registries> instead. • --no-update-lock-file <#opt-no-update-lock-file> Do not allow any updates to the flake's lock file. • --no-write-lock-file <#opt-no-write-lock-file> Do not write the flake's newly generated lock file. • --output-lock-file <#opt-output-lock-file> flake-lock-path Write the given lock file instead of flake.lock within the top-level flake. • --override-input <#opt-override-input> input-path flake-url Override a specific flake input (e.g. dwarffs/nixpkgs). This implies --no-write-lock-file. • --recreate-lock-file <#opt-recreate-lock-file> Recreate the flake's lock file from scratch. DEPRECATED Use nix flake update <../../command-ref/new-cli/nix3-flake- update.md> instead. • --reference-lock-file <#opt-reference-lock-file> flake-lock-path Read the given lock file instead of flake.lock within the top-level flake. • --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 <../../command-ref/new-cli/nix3-flake- update.md> instead. Logging-related options • --debug <#opt-debug> Set the logging verbosity level to `debug'. • --log-format <#opt-log-format> format Set the format of log output; one of raw, internal-json, bar or bar- with-logs. • --print-build-logs <#opt-print-build-logs> / -L Print full build logs on standard error. • --quiet <#opt-quiet> Decrease the logging verbosity level. • --verbose <#opt-verbose> / -v Increase the logging verbosity level. Miscellaneous global options • --help <#opt-help> Show usage information. • --offline <#opt-offline> Disable substituters and consider all previously downloaded files up-to-date. • --option <#opt-option> name value Set the Nix configuration setting name to value (overriding nix.conf). • --refresh <#opt-refresh> Consider all previously downloaded files out-of-date. • --repair <#opt-repair> During evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths. • --version <#opt-version> Show version information. Options that change the interpretation of installables • --expr <#opt-expr> expr Interpret installables <../../command-ref/new- cli/nix.md#installables> as attribute paths relative to the Nix ex- pression expr. • --file <#opt-file> / -f file Interpret installables <../../command-ref/new- cli/nix.md#installables> as attribute paths relative to the Nix ex- pression stored in file. If file is the character -, then a Nix ex- pression is read from standard input. Implies --impure. Note See man nix.conf <../../command-ref/conf-file.md#command-line-flags> for overriding configuration settings with command line flags. nix3-derivation-show(1)
Name | Synopsis | Examples | Description | Derivation JSON Format | Options
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nix3-derivation-show&sektion=1&manpath=FreeBSD+Ports+15.0>
