Home Explore Blog Models CI



nix

src/nix/registry-pin.md
796b123ba2d37289c436694eee5fe7a7dccc08b91e7cafea0000000300000482
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 metadata` will say:

  ```console
  # nix flake metadata 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).

)""

Chunks
c34a4776 (1st chunk of `src/nix/registry-pin.md`)
Title: Nix Registry Pin Command: Examples and Description
Summary
This document describes the `nix registry pin` command, which adds an entry to a Nix registry (user or custom) to map a flake reference URL to a specific, 'locked' flake reference (i.e., one with an exact Git revision or content hash). This ensures that the specified flake reference always resolves to the same exact version until the entry is removed. Examples are provided demonstrating how to pin `nixpkgs` to its most recent Git revision and how to verify the locked status using `nix registry list` and `nix flake metadata`.