Warning
This program is experimental and its interface is subject to change.
Name
nix print-dev-env
- print shell code that can be sourced by bash to reproduce the build environment of a derivation
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
-
Produce output in JSON format, suitable for consumption by another program.
-
--profile
pathThe profile to operate on.
-
--redirect
installable outputs-dirRedirect a store path to a mutable location.
Common evaluation options
-
--arg
name exprPass the value expr as the argument name to Nix functions.
-
--arg-from-file
name pathPass the contents of file path as the argument name to Nix functions.
-
--arg-from-stdin
namePass the contents of stdin as the argument name to Nix functions.
-
--argstr
name stringPass the string string as the argument name to Nix functions.
-
Start an interactive environment if evaluation fails.
-
--eval-store
store-urlThe URL of the Nix store to use for evaluation, i.e. to store derivations (
.drv
files) and inputs referenced by them. -
Allow access to mutable paths and repositories.
-
--include
/-I
pathAdd path to search path entries used to resolve lookup paths
This option may be given multiple times.
Paths added through
-I
take precedence over thenix-path
configuration setting and theNIX_PATH
environment variable. -
--override-flake
original-ref resolved-refOverride the flake registries, redirecting original-ref to resolved-ref.
Common flake-related options
-
Commit changes to the flake's lock file.
-
--inputs-from
flake-urlUse the inputs of the specified flake as registry entries.
-
Don't allow lookups in the flake registries.
DEPRECATED
Use
--no-use-registries
instead. -
Do not allow any updates to the flake's lock file.
-
Do not write the flake's newly generated lock file.
-
--output-lock-file
flake-lock-pathWrite the given lock file instead of
flake.lock
within the top-level flake. -
--override-input
input-path flake-urlOverride a specific flake input (e.g.
dwarffs/nixpkgs
). This implies--no-write-lock-file
. -
Recreate the flake's lock file from scratch.
DEPRECATED
Use
nix flake update
instead. -
--reference-lock-file
flake-lock-pathRead the given lock file instead of
flake.lock
within the top-level flake. -
--update-input
input-pathUpdate a specific flake input (ignoring its previous entry in the lock file).
DEPRECATED
Use
nix flake update
instead.
Logging-related options
-
Set the logging verbosity level to 'debug'.
-
--log-format
formatSet the format of log output; one of
raw
,internal-json
,bar
orbar-with-logs
. -
--print-build-logs
/-L
Print full build logs on standard error.
-
Decrease the logging verbosity level.
-
--verbose
/-v
Increase the logging verbosity level.
Miscellaneous global options
-
Show usage information.
-
Disable substituters and consider all previously downloaded files up-to-date.
-
--option
name valueSet the Nix configuration setting name to value (overriding
nix.conf
). -
Consider all previously downloaded files out-of-date.
-
During evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths.
-
Show version information.
Options that change the interpretation of installables
-
--expr
exprInterpret installables as attribute paths relative to the Nix expression expr.
-
--file
/-f
fileInterpret 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
for overriding configuration settings with command line flags.