nix-super/src/nix/flake-lock.md
Eelco Dolstra 453c3a603f nix flake update: Recreate the lock file
This is probably what most people expect it to do. Fixes #3781.

There is a new command 'nix flake lock' that has the old behaviour of
'nix flake update', i.e. it just adds missing lock file entries unless
overriden using --update-input.
2021-02-26 14:55:54 +01:00

1.1 KiB

R""(

Examples

  • Update the nixpkgs and nix inputs of the flake in the current directory:

    # nix flake lock --update-input nixpkgs --update-input nix
    * Updated 'nix': 'github:NixOS/nix/9fab14adbc3810d5cc1f88672fde1eee4358405c' -> 'github:NixOS/nix/8927cba62f5afb33b01016d5c4f7f8b7d0adde3c'
    * Updated 'nixpkgs': 'github:NixOS/nixpkgs/3d2d8f281a27d466fa54b469b5993f7dde198375' -> 'github:NixOS/nixpkgs/a3a3dda3bacf61e8a39258a0ed9c924eeca8e293'
    

Description

This command updates the lock file of a flake (flake.lock) so that it contains a lock for every flake input specified in flake.nix. Existing lock file entries are not updated unless required by a flag such as --update-input.

Note that every command that operates on a flake will also update the lock file if needed, and supports the same flags. Therefore,

# nix flake lock --update-input nixpkgs
# nix build

is equivalent to:

# nix build --update-input nixpkgs

Thus, this command is only useful if you want to update the lock file separately from any other action such as building.

)""