aboutsummaryrefslogtreecommitdiff
path: root/src/nix/flake-lock.md
blob: 2af0ad81e0e87c73711f780b36c319aeda503aa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
R""(

# Examples

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

  ```console
  # 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,

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

is equivalent to:

```console
# 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.

)""