Home Explore Blog CI



nix

3rd chunk of `doc/manual/source/release-notes/rl-2.29.md`
73f6722348681c1339f2b116e871db3c84b853c5f280ce3d00000001000008f6
  Added support for a `secretKeyFiles` URI parameter in Nix store URIs, allowing multiple signing key files to be specified as a comma-separated list.
  This enables signing paths with multiple keys. This helps with [RFC #149](https://github.com/NixOS/rfcs/pull/149) to enable binary cache key rotation in the NixOS infra.

  Example usage:

  ```bash
  nix copy --to "file:///tmp/store?secret-keys=/tmp/key1,/tmp/key2" \
    "$(nix build --print-out-paths nixpkgs#hello)"
  ```

- nix flake show now skips over import-from-derivation [#4265](https://github.com/NixOS/nix/issues/4265) [#12583](https://github.com/NixOS/nix/pull/12583)

  Previously, if a flake contained outputs relying on [import from derivation](@docroot@/language/import-from-derivation.md) during evaluation, `nix flake show` would fail to display the rest of the flake. The updated behavior skips such outputs, allowing the rest of the flake to be shown.

- Add `nix formatter build` and `nix formatter run` commands [#13063](https://github.com/NixOS/nix/pull/13063)

  `nix formatter run` is an alias for `nix fmt`. Nothing new there.

  `nix formatter build` is sort of like `nix build`: it builds, links, and prints a path to the formatter program:

  ```
  $ nix formatter build
  /nix/store/cb9w44vkhk2x4adfxwgdkkf5gjmm856j-treefmt/bin/treefmt
  ```

  Note that unlike `nix build`, this prints the full path to the program, not just the store path (in the example above that would be `/nix/store/cb9w44vkhk2x4adfxwgdkkf5gjmm856j-treefmt`).

- Amend OSC 8 escape stripping for xterm-style separator [#13109](https://github.com/NixOS/nix/pull/13109)

  Improve terminal escape code filtering to understand a second type of hyperlink escape codes.
  This in particular prevents parts of GCC 14's diagnostics from being improperly filtered away.


# Contributors


This release was made possible by the following 40 contributors:

- Farid Zakaria [**(@fzakaria)**](https://github.com/fzakaria)
- The Tumultuous Unicorn Of Darkness [**(@TheTumultuousUnicornOfDarkness)**](https://github.com/TheTumultuousUnicornOfDarkness)
- Robert Hensing [**(@roberth)**](https://github.com/roberth)
- Félix [**(@picnoir)**](https://github.com/picnoir)
- Valentin Gagarin [**(@fricklerhandwerk)**](https://github.com/fricklerhandwerk)

Title: Nix 2.29.0 - Store URI, Flake Display, Formatter Commands, Terminal Escape Codes, and Contributors
Summary
Nix 2.29.0 adds support for multiple signing keys in Nix store URIs, allowing comma-separated `secretKeyFiles`. It enhances `nix flake show` to skip outputs relying on import-from-derivation during evaluation. The release introduces `nix formatter build` and `nix formatter run` commands. Furthermore, it improves terminal escape code filtering and acknowledges the 40 contributors to this release.