Nix 2.27.0 released

Hi,

I’m pleased to announce the availability of Nix 2.27. It is available from https://releases.nixos.org/?prefix=nix/nix-2.27.0/ .

Release notes:

  • inputs.self.submodules flake attribute #12421

    Flakes in Git repositories can now declare that they need Git submodules to be enabled:

    {
      inputs.self.submodules = true;
    }
    

    Thus, it’s no longer needed for the caller of the flake to pass submodules = true.

  • Git LFS support #10153 #12468

    The Git fetcher now supports Large File Storage (LFS). This can be enabled by passing the attribute lfs = true to the fetcher, e.g.

    nix flake prefetch 'git+ssh://git@github.com/Apress/repo-with-large-file-storage.git?lfs=1'
    

    A flake can also declare that it requires LFS to be enabled:

    {
      inputs.self.lfs = true;
    }
    

    Author: @b-camacho, @kip93

  • Handle the case where a chroot store is used and some inputs are in the “host” /nix/store #12512

    The evaluator now presents a “union” filesystem view of the /nix/store in the host and the chroot.

    This change also removes some hacks that broke builtins.{path,filterSource} in chroot stores #11503.

  • nix flake prefetch now has a --out-link option #12443

  • Set FD_CLOEXEC on sockets created by curl #12439

    Curl created sockets without setting FD_CLOEXEC/SOCK_CLOEXEC. This could previously cause connections to remain open forever when using commands like nix shell. This change sets the FD_CLOEXEC flag using a CURLOPT_SOCKOPTFUNCTION callback.

Contributors

This release was made possible by the following 21 contributors:

29 Likes

https://github.com/NixOS/nix/issue/11503
https://github.com/NixOS/nix/issue/12443

should be

I believe? The link is broken due to linking to github issue rather than pull

Thanks, I’ve fixed the post.