aboutsummaryrefslogtreecommitdiff
path: root/src/nix/registry-pin.md
blob: ebc0e3efff14225d95bc10095c6277739fa83ef6 (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
39
40
41
42
43
44
45
R""(

# Examples

* Pin `nixpkgs` to its most recent Git revision:

  ```console
  # nix registry pin nixpkgs
  ```

  Afterwards the user registry will have an entry like this:

  ```console
  nix registry list | grep '^user '
  user   flake:nixpkgs github:NixOS/nixpkgs/925b70cd964ceaedee26fde9b19cc4c4f081196a
  ```

  and `nix flake info` will say:

  ```console
  # nix flake info nixpkgs
  Resolved URL:  github:NixOS/nixpkgs/925b70cd964ceaedee26fde9b19cc4c4f081196a
  Locked URL:    github:NixOS/nixpkgs/925b70cd964ceaedee26fde9b19cc4c4f081196a

  ```

* Pin `nixpkgs` in a custom registry to its most recent Git revision:

  ```console
  # nix registry pin --registry ./custom-flake-registry.json nixpkgs
  ```


# Description

This command adds an entry to the user registry that maps flake
reference *url* to the corresponding *locked* flake reference, that
is, a flake reference that specifies an exact revision or content
hash. This ensures that until this registry entry is removed, all uses
of *url* will resolve to exactly the same flake.

Entries can be removed using [`nix registry
remove`](./nix3-registry-remove.md).

)""