Release 2.13 (2023-01-17)
-
The
repeatandenforce-determinismoptions 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.
-
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^devnow works just as
# nix build nixpkgs#glibc^devdoes already.
-
On Linux,
nix developnow sets the personality for the development shell in the same way as the actual build of the derivation. This makes shells fori686-linuxderivations work correctly onx86_64-linux. -
You can now disable the global flake registry by setting the
flake-registryconfiguration option to an empty string. The same can be achieved at runtime with--flake-registry "". -
Since 2.13.5, a new function
builtins.readFileTypeis available. It is similar tobuiltins.readDirbut acts on a single file or directory. -
Since 2.13.5, the
builtins.readDirfunction has been optimized when encountering not-yet-known file types from POSIX'sreaddir. In such cases the type of each file was discovered by making multiple syscalls. This change makes these operations lazy such that these lookups will only be performed if the attribute is used. This optimization affects a minority of filesystems and operating systems.