nix3-path-info(1)
π nix3-path-info(1) π
okay bestie, buckle up β this is the manual page for nix path-info, and it's giving "let me tell you everything about your store paths" energy. It lives in the General Commands Manual. β¨
β οΈ Warning: This program is experimental and its interface is subject to change. (yes, fr fr β the interface can just shift under you, no cap π)
πΈ NAME πΈ
nix path-info β query information about store paths π
π SYNOPSIS π
nix path-info [optionβ¦] installablesβ¦
π EXAMPLES π
- Print the store path produced by
nixpkgs#hello:
# nix path-info nixpkgs#hello
/nix/store/10l19qifk7hjjq47px8m2prqk1gv4isy-hello-2.10
- Show the closure sizes of every path in the current NixOS system closure, sorted by size:
# nix path-info --recursive --closure-size /run/current-system | sort -nk2
/nix/store/zlnmjjbpv5pwwv911qp0grqi25y80wbs-empty 96
/nix/store/v40fjpq45135avrmnfm8klbvdhf0dcp7-nameservers 112
β¦
/nix/store/539jkw9a8dyry7clcv60gk6na816j7y8-etc 5783255504
/nix/store/zqamz3cz4dbzfihki2mk7a63mbkxz9xq-nixos-system-machine-20.09.20201112.3090c65 5887562256
- Show a packageβs closure size and all its dependencies with human readable sizes:
# nix path-info --recursive --size --closure-size --human-readable nixpkgs#rustc
/nix/store/klarszqikbvf6n70581w0381zb7rlzri-ncurses-6.2-dev 386.7 KiB 69.1 MiB
/nix/store/30rva1kafnr6fyf8y5xxlpnwixvdpv4w-libpfm-4.11.0 5.9 MiB 37.4 MiB
β¦
- Check the existence of a path in a binary cache:
# nix path-info --recursive /nix/store/blzxgyvrk32ki6xga10phr4sby2xf25q-geeqie-1.5.1 --store https://cache.nixos.org/
path '/nix/store/blzxgyvrk32ki6xga10phr4sby2xf25q-geeqie-1.5.1' is not valid
- Print the 10 most recently added paths (using
--jsonand thejq(1)command):
# nix path-info --json --all | jq -r 'to_entries | sort_by(.value.registrationTime) | .[-11:-1][] | .key'
- Show the size of the entire Nix store:
# nix path-info --json --all | jq 'map(.narSize) | add'
49812020936
- Show every path whose closure is bigger than 1 GB, sorted by closure size:
# nix path-info --json --all --closure-size \
| jq 'map_values(.closureSize | select(. < 1e9)) | to_entries | sort_by(.value)'
[
β¦,
{
.key = "/nix/store/zqamz3cz4dbzfihki2mk7a63mbkxz9xq-nixos-system-machine-20.09.20201112.3090c65",
.value = 5887562256,
}
]
- Print the path of the store derivation produced by
nixpkgs#hello:
# nix path-info --derivation nixpkgs#hello
/nix/store/s6rn4jz1sin56rf4qj5b5v8jxjm32hlk-hello-2.10.drv
π DESCRIPTION π
This command shows you info about the store paths that your installables produce β or, if you pass --all, it spills the tea about every path in the store. π«
By default it just prints the store paths, that's it. You want the β¨extraβ¨? Then pass flags like --closure-size, --size, --sigs or --json and watch it glow up.
β οΈ Warning Lowkey important:nix path-infodoes not build or substitute the installables you specify. So if the corresponding store paths don't already exist, this command will fail. π Usenix buildfirst to make sure they exist. periodt.
β¨ OPTIONS β¨
--closure-size,-Sβ Print the sum of the sizes of the NAR serialisations of the closure of each path.--human-readable,-hβ With-sand-S, print sizes in a human-friendly format such as5.67G(because nobody wants to count digits at 2am π₯²).--jsonβ Produce output in JSON format, suitable for consumption by another program (hello,jqbestie π).--json-formatversion β JSON format version of store object info to use (1,2, or3). Version 1 uses string hashes and full store paths. Version 2 uses structured hashes and store path base names. Version 3 uses structured signatures. This flag will be required in a future release. π--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 separate lines.
See --pretty.
--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.
--sigsβ Show signatures. ποΈ--size,-sβ Print the size of the NAR serialisation of each path.--stdinβ Read installables from the standard input. No default installable applied.
π Common evaluation options
--argname expr β Pass the value expr as the argument name to Nix functions.--arg-from-filename path β Pass the contents of file path as the argument name to Nix functions.--arg-from-stdinname β Pass the contents of stdin as the argument name to Nix functions.--argstrname string β Pass the string string as the argument name to Nix functions.--debuggerβ Start an interactive environment if evaluation fails.--eval-storestore-url β The URL of the Nix store to use for evaluation, i.e. to store derivations (.drvfiles) and inputs referenced by them.--impureβ Allow access to mutable paths and repositories.--include,-Ipath β Add path to search path entries used to resolve lookup paths.
This option may be given multiple times.
Paths added through -I take precedence over the nix-path configuration setting and the NIX_PATH environment variable.
--override-flakeoriginal-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-fromflake-url β Use the inputs of the specified flake as registry entries.--no-registriesβ Donβt allow lookups in the flake registries.
DEPRECATED β Use --no-use-registries instead.
--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-fileflake-lock-path β Write the given lock file instead offlake.lockwithin the top-level flake.--override-inputinput-path flake-url β Override a specific flake input (e.g.dwarffs/nixpkgs). The input path must not be empty. This implies--no-write-lock-file.--recreate-lock-fileβ Recreate the flakeβs lock file from scratch.
DEPRECATED β Use nix flake update instead.
--reference-lock-fileflake-lock-path β Read the given lock file instead offlake.lockwithin the top-level flake.--update-inputinput-path β Update a specific flake input (ignoring its previous entry in the lock file).
DEPRECATED β Use nix flake update instead.
π¦ Logging-related options
--debugβ Set the logging verbosity level to βdebugβ.--log-formatformat β Set the format of log output; one ofraw,internal-json,barorbar-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.--optionname value β Set the Nix configuration setting name to value (overridingnix.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
--allβ Apply the operation to every store path. (yes, every one π€)--derivationβ Operate on the store derivation rather than its outputs.--exprexpr β Interpret installables as attribute paths relative to the Nix expression expr.--file,-ffile β Interpret installables as attribute paths relative to the Nix expression stored in file. If file is the character-, then a Nix expression is read from standard input. Implies--impure.--recursive,-rβ Apply operation to closure of the specified paths.
Note See man nix.conf for overriding configuration settings with command line flags.
and that's the whole page, bestie β every flag, every default, every deprecated warning, all of it π straight out of the nix3-path-info(1) page in the General Commands Manual. go query some store paths, you absolute icon πβ¨
π¦ where this page comes from
- fedora 44: nix-core 2.35.3-2.fc44 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms