nix3-fmt(1)
β¨ nix fmt β nix3-fmt(1) β¨
okay bestie, welcome to the manual page for nix fmt, coming at you straight from the General Commands Manual π
β οΈ Warning β οΈ This program is experimental and its interface is subject to change. Like, do not get attached to the exact vibes, they WILL shift. π
πΈ Name πΈ
nix fmt β reformat your code in the standard style β¨
π Synopsis π
nix fmt [optionβ¦] argsβ¦
π Description π
nix fmt (which is literally just an alias for nix formatter run, no cap) calls the formatter that's specified in the flake. The flake decides, you just vibe. π¦
Wanna send flags over to the formatter? Easy. Drop -- first, then your flags, and they get forwarded. Periodt.
Any arguments you hand over also get forwarded to the formatter. Usually those args are the files you want formatted. πβ¨
Oh and 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. So it always knows where home is. π‘
π Example π
Wanna use the official Nix formatter? Say less:
# flake.nix
{
outputs = { nixpkgs, self }: {
formatter.x86_64-linux = nixpkgs.legacyPackages.${system}.nixfmt-tree;
};
}
β Options β
--jsonβ produce output in JSON format, suitable for consumption by another program. It's giving machine-readable π€--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.
π§ 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.--debuggerβ start an interactive environment if evaluation fails. Lowkey a safe space for when things go sideways π«Ά--eval-storestore-url β the URL of the Nix store to use for evaluation, i.e. to store derivations (.drvfiles) and inputs referenced by them.--impureβ allow access to mutable paths and repositories. Living dangerously, we love that π--include,-Ipath β add path to search path entries used to resolve lookup paths.
This option may be given multiple times.
Paths added through -I take precedence over the nix-path configuration setting and the NIX_PATH environment variable. Main character energy for real π
--override-flakeoriginal-ref resolved-ref β override the flake registries, redirecting original-ref to resolved-ref.
π Common flake-related options π
--commit-lock-fileβ commit changes to the flake's lock file.--inputs-fromflake-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. She's retired, bestie. β¨
--no-update-lock-fileβ do not allow any updates to the flake's lock file.--no-write-lock-fileβ do 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). 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. π
--reference-lock-fileflake-lock-path β read the given lock file instead offlake.lockwithin the top-level flake.--update-inputinput-path β update a specific flake input (ignoring its previous entry in the lock file).
DEPRECATED β use nix flake update instead. π
π Logging-related options π
--debugβ set the logging verbosity level to 'debug'.--log-formatformat β set the format of log output; one ofraw,internal-json,barorbar-with-logs.--print-build-logs,-Lβ print full build logs on standard error.--quietβ decrease the logging verbosity level. π€«--verbose,-vβ increase the logging verbosity level. π£οΈ
π Miscellaneous global options π
--helpβ show usage information.--offlineβ disable substituters and consider all previously downloaded files up-to-date.--optionname value β set the Nix configuration setting name to value (overridingnix.conf).--refreshβ consider all previously downloaded files out-of-date.--repairβ during evaluation, rewrite missing or corrupted files in the Nix store. During building, rebuild missing or corrupted store paths.--versionβ show 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 is read from standard input. Implies--impure.
π Note See man nix.conf for overriding configuration settings with command line flags.
and that's the whole page, bestie π this was nix3-fmt(1) out of the General Commands Manual β go format something cute and slay the day, ily πβ¨π
π¦ where this page comes from
- fedora 44: nix-core 2.35.3-2.fc44 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms