.\" -*- mode: troff; coding: utf-8 -*- .TH "nix3-fmt" "1" "" .PP \fBWarning\fR: This program is \fBexperimental\fR and its interface is subject to change. .SH Name \fCnix fmt\fR - reformat your code in the standard style .SH Synopsis \fCnix fmt\fR [\fIoption\fR\[u2026]] \fIargs\fR\[u2026] .SH Examples With \fBnixpkgs-fmt\fR (\fIhttps://github.com/nix-community/nixpkgs-fmt\fR): .LP .EX # flake.nix { outputs = { nixpkgs, self }: { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt; }; } .EE .IP "\(bu" 2 Format the current flake: \fC$ nix fmt\fR .IP "\(bu" 2 Format a specific folder or file: \fC$ nix fmt ./folder ./file.nix\fR .LP With \fBnixfmt\fR (\fIhttps://github.com/serokell/nixfmt\fR): .LP .EX # flake.nix { outputs = { nixpkgs, self }: { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt; }; } .EE .IP "\(bu" 2 Format specific files: \fC$ nix fmt ./file1.nix ./file2.nix\fR .LP With \fBAlejandra\fR (\fIhttps://github.com/kamadorueda/alejandra\fR): .LP .EX # flake.nix { outputs = { nixpkgs, self }: { formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; }; } .EE .IP "\(bu" 2 Format the current flake: \fC$ nix fmt\fR .IP "\(bu" 2 Format a specific folder or file: \fC$ nix fmt ./folder ./file.nix\fR .SH Description \fCnix fmt\fR will rewrite all Nix files (*.nix) to a canonical format using the formatter specified in your flake. .SH Options \fBCommon evaluation options:\fR .IP "\(bu" 2 \fC--arg\fR \fIname\fR \fIexpr\fR .br Pass the value \fIexpr\fR as the argument \fIname\fR to Nix functions. .IP "\(bu" 2 \fC--argstr\fR \fIname\fR \fIstring\fR .br Pass the string \fIstring\fR as the argument \fIname\fR to Nix functions. .IP "\(bu" 2 \fC--eval-store\fR \fIstore-url\fR .br The Nix store to use for evaluations. .IP "\(bu" 2 \fC--impure\fR .br Allow access to mutable paths and repositories. .IP "\(bu" 2 \fC--include\fR / \fC-I\fR \fIpath\fR .br Add \fIpath\fR to the list of locations used to look up \fC<...>\fR file names. .IP "\(bu" 2 \fC--override-flake\fR \fIoriginal-ref\fR \fIresolved-ref\fR .br Override the flake registries, redirecting \fIoriginal-ref\fR to \fIresolved-ref\fR. .LP \fBCommon flake-related options:\fR .IP "\(bu" 2 \fC--commit-lock-file\fR .br Commit changes to the flake\[u2019]s lock file. .IP "\(bu" 2 \fC--inputs-from\fR \fIflake-url\fR .br Use the inputs of the specified flake as registry entries. .IP "\(bu" 2 \fC--no-registries\fR .br Don\[u2019]t allow lookups in the flake registries. This option is deprecated; use \fC--no-use-registries\fR. .IP "\(bu" 2 \fC--no-update-lock-file\fR .br Do not allow any updates to the flake\[u2019]s lock file. .IP "\(bu" 2 \fC--no-write-lock-file\fR .br Do not write the flake\[u2019]s newly generated lock file. .IP "\(bu" 2 \fC--override-input\fR \fIinput-path\fR \fIflake-url\fR .br Override a specific flake input (e.g. \fCdwarffs/nixpkgs\fR). This implies \fC--no-write-lock-file\fR. .IP "\(bu" 2 \fC--recreate-lock-file\fR .br Recreate the flake\[u2019]s lock file from scratch. .IP "\(bu" 2 \fC--update-input\fR \fIinput-path\fR .br Update a specific flake input (ignoring its previous entry in the lock file). .LP \fBOptions that change the interpretation of installables:\fR .IP "\(bu" 2 \fC--derivation\fR .br Operate on the store derivation rather than its outputs. .IP "\(bu" 2 \fC--expr\fR \fIexpr\fR .br Interpret installables as attribute paths relative to the Nix expression \fIexpr\fR. .IP "\(bu" 2 \fC--file\fR / \fC-f\fR \fIfile\fR .br Interpret installables as attribute paths relative to the Nix expression stored in \fIfile\fR. If \fIfile\fR is the character -, then a Nix expression will be read from standard input.