Nix 2.13.0 released


I’m pleased to announce the availability of Nix 2.13.0. It will be available from Download Nix / NixOS | Nix & NixOS and

Here are the release notes:

  • The repeat and enforce-determinism options have been removed since they had been broken under many circumstances for a long time.

  • You can now use flake references in the old command line interface, e.g.

    # nix-build flake:nixpkgs -A hello
    # nix-build -I nixpkgs=flake:github:NixOS/nixpkgs/nixos-22.05 \
        '<nixpkgs>' -A hello
    # NIX_PATH=nixpkgs=flake:nixpkgs nix-build '<nixpkgs>' -A hello
  • Instead of “antiquotation”, the more common term string interpolation is now used consistently. Historical release notes were not changed.

  • Error traces have been reworked to provide detailed explanations and more accurate error locations. A short excerpt of the trace is now shown by default when an error occurs.

  • Allow explicitly selecting outputs in a store derivation installable, just like we can do with other sorts of installables. For example,

    # nix-build /nix/store/gzaflydcr6sb3567hap9q6srzx8ggdgg-glibc-2.33-78.drv^dev

    now works just as

    # nix-build glibc^dev

    does already.

  • On Linux, nix develop now sets the personality for the development shell in the same way as the actual build of the derivation. This makes shells for i686-linux derivations work correctly on x86_64-linux.


Unfortunately, this release has a serious regression in the evaluator. We’ll follow it up with a point release.

Cause of the regression ^


Is it now also possible to disable the global registry by setting flake-registry to empty (#5420).

For example using the cli:
nix --flake-registry "" registry list
will show you only your user entries.

1 Like

With “flake capabilites” leaking into regular old-style expressions as well, can’t we make the experimental feature flakes available without also having to enable nix-command?

I do not really see a reason for nix-command being enabled for nix-build -I nixpkgs=github:nixos/nixpkgs/nixos-unstable '<nixpkgs>' -A hello or builtins.getFlake being used in a regular “old school” shell.nix.


I made a 2.13.1 release that fixes this and a few smaller regressions.


This does not require the nix-command feature. For instance, nix-build --experimental-features 'flakes' -I nixpkgs=github:nixos/nixpkgs/nixos-unstable '<nixpkgs>' -A hello works.


Did something break?

❯ nix-build '/nix/store/xz5yya8qjcj0fv0nfcvxyj7hzcy54vfg-blockscout-0.0.0.drv'
❯ nix-build '/nix/store/xz5yya8qjcj0fv0nfcvxyj7hzcy54vfg-blockscout-0.0.0.drv^out'
error: getting status of '/nix/store/xz5yya8qjcj0fv0nfcvxyj7hzcy54vfg-blockscout-0.0.0.drv^out': No such file or directory
❯ nix --version
nix (Nix) 2.13.2
1 Like

@nrdxp Looks like it. Can you make an issue for that?

1 Like

:+1: nix-build: carraot (`^`) doesn't work as advertised · Issue #7682 · NixOS/nix · GitHub

1 Like