Manpages - nix3-eval.1
Warning
This program is experimental and its interface is subject to change.
#+end_quote
Name
nix eval - evaluate a Nix expression
Synopsis
nix eval [/option/…] installable
Examples
- Evaluate a Nix expression given on the command line:
# nix eval --expr '1 + 2'
- Evaluate a Nix expression to JSON:
# nix eval --json --expr '{ x = 1; }'
{"x":1}
- Evaluate a Nix expression from a file:
# nix eval --file ./my-nixpkgs hello.name
- Get the current version of the
nixpkgsflake:
# nix eval --raw nixpkgs#lib.version
- Print the store path of the Hello package:
# nix eval --raw nixpkgs#hello
- Get a list of checks in the
nixflake:
# nix eval nix#checks.x86_64-linux --apply builtins.attrNames
- Generate a directory with the specified contents:
# nix eval --write-to ./out --expr '{ foo = "bar"; subdir.bla = "123"; }'
# cat ./out/foo
bar
# cat ./out/subdir/bla
123
Description
This command evaluates the given Nix expression and prints the result on standard output.
Output format
nix eval can produce output in several formats:
- By default, the evaluation result is printed as a Nix expression.
- With
--json, the evaluation result is printed in JSON format. Note that this fails if the result contains values that are not representable as JSON, such as functions. - With
--raw, the evaluation result must be a string, which is printed verbatim, without any quoting. - With
--write-topath, the evaluation result must be a string or a nested attribute set whose leaf values are strings. These strings are written to files named path///attrpath. path must not already exist.
Options
--applyexpr Apply the function expr to each argument.--jsonProduce output in JSON format, suitable for consumption by another program.--rawPrint strings without quotes or escaping.--read-onlyDo not instantiate each evaluated derivation. This improves performance, but can cause errors when accessing store paths of derivations during evaluation.--write-topath Write a string or attrset of strings to path.
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.--debuggerStart 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.--impureAllow 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-Itake precedence over thenix-pathconfiguration setting and theNIX_PATHenvironment variable.--override-flakeoriginal-ref resolved-ref Override the flake registries, redirecting original-ref to resolved-ref.
Common flake-related options
--commit-lock-fileCommit changes to the flake's lock file.--inputs-fromflake-url Use the inputs of the specified flake as registry entries.-
--no-registriesDon't allow lookups in the flake registries.
DEPRECATED
Use
--no-use-registriesinstead. --no-update-lock-fileDo not allow any updates to the flake's lock file.--no-write-lock-fileDo 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). This implies--no-write-lock-file.-
--recreate-lock-fileRecreate the flake's lock file from scratch.
DEPRECATED
Use
nix flake updateinstead. --reference-lock-fileflake-lock-path Read the given lock file instead offlake.lockwithin the top-level flake.-
--update-inputinput-pathUpdate a specific flake input (ignoring its previous entry in the lock file).
DEPRECATED
Use
nix flake updateinstead.
Logging-related options
--debugSet the logging verbosity level to ‘debug'.--log-formatformat Set the format of log output; one ofraw,internal-json,barorbar-with-logs.--print-build-logs/-LPrint full build logs on standard error.--quietDecrease the logging verbosity level.--verbose/-vIncrease the logging verbosity level.
Miscellaneous global options
--helpShow usage information.--offlineDisable substituters and consider all previously downloaded files up-to-date.--optionname value Set the Nix configuration setting name to value (overridingnix.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
--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 will be read from standard input. Implies--impure. Note Seeman nix.conffor overriding configuration settings with command line flags.