nix3-print-dev-env - Man Page
print shell code that can be sourced by bash to reproduce the build environment of a derivation
Warning
This program is experimental and its interface is subject to change.
Synopsis
nix print-dev-env [option…] installable
Examples
- Apply the build environment of GNU hello to the current shell:
# . <(nix print-dev-env nixpkgs#hello)
- Get the build environment in JSON format:
# nix print-dev-env nixpkgs#hello --json
The output will look like this:
{
"bashFunctions": {
"buildPhase": " \n runHook preBuild;\n...",
...
},
"variables": {
"src": {
"type": "exported",
"value": "/nix/store/3x7dwzq014bblazs7kq20p9hyzz0qh8g-hello-2.10.tar.gz"
},
"postUnpackHooks": {
"type": "array",
"value": ["_updateSourceDateEpochFromSourceRoot"]
},
...
}
}Description
This command prints a shell script that can be sourced by bash and that sets the variables and shell functions defined by the build process of installable . This allows you to get a similar build environment in your current shell rather than in a subshell (as with nix develop).
With --json, the output is a JSON serialisation of the variables and functions defined by the build process.
Options
--jsonProduce output in JSON format, suitable for consumption by another program.
--no-prettyPrint 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`.
--prettyPrint 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.--profilepathThe profile to operate on.
--redirectinstallable outputs-dirRedirect a store path to a mutable location.
Common evaluation options
--argname exprPass the value expr as the argument name to Nix functions.
--arg-from-filename pathPass the contents of file path as the argument name to Nix functions.
--arg-from-stdinnamePass the contents of stdin as the argument name to Nix functions.
--argstrname stringPass the string string as the argument name to Nix functions.
--debuggerStart an interactive environment if evaluation fails.
--eval-storestore-urlThe URL of the Nix store to use for evaluation, i.e. to store derivations (
.drvfiles) and inputs referenced by them.--impureAllow access to mutable paths and repositories.
--include/-IpathAdd path to search path entries used to resolve lookup paths
This option may be given multiple times.
Paths added through
-Itake precedence over thenix-pathconfiguration setting and theNIX_PATHenvironment variable .--override-flakeoriginal-ref resolved-refOverride the flake registries, redirecting original-ref to resolved-ref.
Miscellaneous global options
--helpShow usage information.
--offlineDisable substituters and consider all previously downloaded files up-to-date.
--optionname valueSet the Nix configuration setting name to value (overriding
nix.conf).--refreshConsider all previously downloaded files out-of-date.
--repairDuring evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths.
--versionShow version information.
Options that change the interpretation of installables
--exprexprInterpret installables as attribute paths relative to the Nix expression expr.
--file/-ffileInterpret 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.Note
See
man nix.conffor overriding configuration settings with command line flags.