Name
nix flake diff-locks - show the differences between the lock files of two flakes
Synopsis
nix flake diff-locks [option…] old-flake new-flake
Examples
-
Show how the locked inputs of two versions of a flake differ:
# nix flake diff-locks github:NixOS/nix/2.28.0 github:NixOS/nix/2.29.0 • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/48d12d5' (2024-12-16) → 'github:NixOS/nixpkgs/adaa24f' (2025-05-13) -
Show what has changed in the lock file of the flake in the worktree relative to a previous Git revision:
# nix flake diff-locks '.?rev=26842787496f2293c676fb36db38dacfd63497e0'or relative to a Git ref:
# nix flake diff-locks '.?ref=HEAD'
Description
This command shows the differences between the lock files of two flakes old-flake and new-flake: inputs that were added, removed or updated. new-flake defaults to the flake in the current directory. The flakes do not need to use the same lock file format version; a change in the lock file version is also reported.
By default, only the locks contained in the two flakes’ own lock files are compared.
With --transitive, inputs that have a lock file of their own are fetched in order to include their transitive locks in the comparison.
Options
-
Include the transitive locks of inputs that have a lock file of their own. This may require fetching those inputs.
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.
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.
Note
See
man nix.conffor overriding configuration settings with command line flags.