Name
nix fmt - reformat your code in the standard style
Synopsis
nix fmt [option...] args...
Description
nix fmt (an alias for nix formatter run) calls the formatter specified in the flake.
Flags can be forwarded to the formatter by using -- followed by the flags.
Any arguments will be forwarded to the formatter. Typically these are the files to format.
The environment variable PRJ_ROOT (according to prj-spec)
will be set to the absolute path to the directory containing the closest parent flake.nix
relative to the current directory.
Example
To use the official Nix formatter:
# flake.nix
{
  outputs = { nixpkgs, self }: {
    formatter.x86_64-linux = nixpkgs.legacyPackages.${system}.nixfmt-tree;
  };
}
Options
- 
Produce output in JSON format, suitable for consumption by another program.
 - 
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`. - 
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. 
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.
 - 
Start 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. - 
Allow 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.
 
Common flake-related options
- 
Commit changes to the flake's lock file.
 - 
--inputs-fromflake-urlUse the inputs of the specified flake as registry entries.
 - 
Don't allow lookups in the flake registries.
DEPRECATED
Use
--no-use-registriesinstead. - 
Do not allow any updates to the flake's lock file.
 - 
Do not write the flake's newly generated lock file.
 - 
--output-lock-fileflake-lock-pathWrite the given lock file instead of
flake.lockwithin the top-level flake. - 
--override-inputinput-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 updateinstead. - 
--reference-lock-fileflake-lock-pathRead the given lock file instead of
flake.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
- 
Set the logging verbosity level to 'debug'.
 - 
--log-formatformatSet the format of log output; one of
raw,internal-json,barorbar-with-logs. - 
--print-build-logs/-LPrint full build logs on standard error.
 - 
Decrease the logging verbosity level.
 - 
--verbose/-vIncrease the logging verbosity level.
 
Miscellaneous global options
- 
Show usage information.
 - 
Disable substituters and consider all previously downloaded files up-to-date.
 - 
--optionname 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
- 
--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.