nix3-store...-trace-info(1)

πŸ“¦ version 2.35.3, in fedora 44

πŸŽ€ Name πŸŽ€

okay bestie, welcome to the manual for nix store build-trace info β€” literally it's the glow-up command that lets you query information about one or several build traces. That's it. That's the job. It's part of the General Commands Manual collection, so you know it's official πŸ’…

⚠️ Warning β€” this program is experimental and its interface is subject to change. Not me being dramatic, that's just facts. Don't build your whole personality on it staying the same, fr fr 😭

✨ Synopsis ✨

nix store build-trace info [option…] installables…

yes that really is the whole thing. Options first, installables after, go off πŸ‘‘


πŸ¦‹ Description πŸ¦‹

It displays some information about the given build trace. That's the vibe. You hand it a trace, it hands you the details. Simple as. No cap.


🌸 Examples 🌸

Show some information about the build trace of the hello package:

$ nix store build-trace info nixpkgs#hello --json
[{"id":"sha256:3d382378a00588e064ee30be96dd0fa7e7df7cf3fbcace85a0e7b7dada1eef25!out","outPath":"fd3m7xawvrqcg98kgz5hc2vk3x9q0lh7-hello"}]

see how it just hands you the JSON?? iconic behaviour honestly 🫢


πŸ’– Options πŸ’–

  • --json β€” Produce output in JSON format, suitable for consumption by another program. Feed it to your script bestie, it's not just for human eyeballs.
  • --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. So don't be out here using it solo, it needs its partner ✨

  • --stdin β€” Read installables from the standard input. No default installable applied. Pipe it in, queen.

🌈 Common evaluation options

  • --arg name expr β€” Pass the value expr as the argument name to Nix functions.
  • --arg-from-file name path β€” Pass the contents of file path as the argument name to Nix functions.
  • --arg-from-stdin name β€” Pass the contents of stdin 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. It's giving "second chance energy" 😌
  • --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. chaotic, but make it consensual.
  • --include / -I path β€” Add path to search path entries used to resolve lookup paths.

This option may be given multiple times. Stack 'em up, bestie.

Paths added through -I take precedence over the nix-path configuration setting and the NIX_PATH environment variable.

  • --override-flake original-ref resolved-ref β€” Override the flake registries, redirecting original-ref to resolved-ref.
  • --commit-lock-file β€” Commit changes to the flake's lock file. yes queen, commit it, make it official πŸ’…
  • --inputs-from flake-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. bestie it's old, move on, we don't use that anymore πŸ™ˆ
  • --no-update-lock-file β€” Do not allow any updates to the flake's lock file. frozen. locked in. literally.
  • --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). 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. again, deprecated, we don't do that here βœ‹
  • --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).
DEPRECATED β€” Use nix flake update instead. same warning, same energy 😭
  • --debug β€” Set the logging verbosity level to 'debug'. maximum yap mode, but for logs.
  • --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. shhh 🀫
  • --verbose / -v β€” Increase the logging verbosity level. tell me EVERYTHING.

πŸ‘‘ Miscellaneous global options

  • --help β€” Show usage information.
  • --offline β€” Disable substituters and consider all previously downloaded files up-to-date. airplane mode but make it Nix.
  • --option name value β€” Set the Nix configuration setting name to value (overriding nix.conf).
  • --refresh β€” Consider all previously downloaded files out-of-date. everything is stale, do not trust a single file, drama!! πŸ”₯
  • --repair β€” During evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths. healing era πŸ’–
  • --version β€” Show version information.

πŸ“ Options that change the interpretation of installables

  • --all β€” Apply the operation to every store path. all of them. every single one. no crumbs left.
  • --derivation β€” Operate on the store derivation rather than its outputs.
  • --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 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!! you understood all of it, I know you did, we ate that πŸ’…

this was the nix3-store...-trace-info(1) page from the General Commands Manual β€” go forth and trace those builds, you gorgeous genius πŸ¦‹βœ¨

πŸ“¦ where this page comes from