Home Explore Blog CI



nix

doc/manual/source/release-notes/rl-2.9.md
0536901dd669fce89ca67dae7a37feeed9987d043c1f8a4d0000000300000767
# Release 2.9 (2022-05-30)

* Running Nix with the new `--debugger` flag will cause it to start a
  repl session if an exception is thrown during evaluation, or if
  `builtins.break` is called.  From there you can inspect the values
  of variables and evaluate Nix expressions.  In debug mode, the
  following new repl commands are available:

  ```
  :env          Show env stack
  :bt           Show trace stack
  :st           Show current trace
  :st <idx>     Change to another trace in the stack
  :c            Go until end of program, exception, or builtins.break().
  :s            Go one step
  ```

  Read more about the debugger
  [here](https://www.zknotes.com/note/5970).

* Nix now provides better integration with zsh's `run-help`
  feature. It is now included in the Nix installation in the form of
  an autoloadable shell function, `run-help-nix`. It picks up Nix
  subcommands from the currently typed in command and directs the user
  to the associated man pages.

* `nix repl` has a new build-and-link (`:bl`) command that builds a
  derivation while creating GC root symlinks.

* The path produced by `builtins.toFile` is now allowed to be imported
  or read even with restricted evaluation. Note that this will not
  work with a read-only store.

* `nix build` has a new `--print-out-paths` flag to print the
  resulting output paths.  This matches the default behaviour of
  `nix-build`.

* You can now specify which outputs of a derivation `nix` should
  operate on using the syntax `installable^outputs`,
  e.g. `nixpkgs#glibc^dev,static` or `nixpkgs#glibc^*`. By default,
  `nix` will use the outputs specified by the derivation's
  `meta.outputsToInstall` attribute if it exists, or all outputs
  otherwise.

* `builtins.fetchTree` (and flake inputs) can now be used to fetch
  plain files over the `http(s)` and `file` protocols in addition to
  directory tarballs.

Chunks
cbaee333 (1st chunk of `doc/manual/source/release-notes/rl-2.9.md`)
Title: Nix Release 2.9 Features and Improvements
Summary
This section details the new features and improvements introduced in Nix release 2.9, including a new debugger with repl commands, better zsh integration via `run-help-nix`, a build-and-link command in `nix repl`, improved `builtins.toFile` functionality, a `--print-out-paths` flag for `nix build`, the ability to specify derivation outputs, and support for fetching plain files with `builtins.fetchTree`.