lix/src/nix/flake-lock.md
Théophane Hufschmitt 86881226b0 Merge pull request #8817 from iFreilicht/flake-update-lock-overhaul
Overhaul `nix flake update` and `nix flake lock` UX

(cherry picked from commit 12a0ae73dbb37becefa5a442eb4532ff0de9ce65)
Change-Id: Iff3b4f4235ebb1948ec612036b39ab29e4ca22b2
2024-03-25 17:36:24 -06:00

1.2 KiB

R""(

Examples

  • Create the lock file for the flake in the current directory:

    # nix flake lock
    warning: creating lock file '/home/myself/repos/testflake/flake.lock':
    • Added input 'nix':
        'github:NixOS/nix/9fab14adbc3810d5cc1f88672fde1eee4358405c' (2023-06-28)
    • Added input 'nixpkgs':
        'github:NixOS/nixpkgs/3d2d8f281a27d466fa54b469b5993f7dde198375' (2023-06-30)
    
  • Add missing inputs to the lock file for a flake in a different directory:

    # nix flake lock ~/repos/another
    warning: updating lock file '/home/myself/repos/another/flake.lock':
    • Added input 'nixpkgs':
        'github:NixOS/nixpkgs/3d2d8f281a27d466fa54b469b5993f7dde198375' (2023-06-30)
    

    Note

    When trying to refer to a flake in a subdirectory, write ./another instead of another. Otherwise Nix will try to look up the flake in the registry.

Description

This command adds inputs to 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.

If you want to update existing lock entries, use nix flake update

)""