Release 2.27.0 (2025-03-03)
-
inputs.self.submodules
flake attribute #12421Flakes 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
. -
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
#12512The 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 #12439Curl created sockets without setting
FD_CLOEXEC
/SOCK_CLOEXEC
. This could previously cause connections to remain open forever when using commands likenix shell
. This change sets theFD_CLOEXEC
flag using aCURLOPT_SOCKOPTFUNCTION
callback.
Contributors
This release was made possible by the following 21 contributors:
- Aiden Fox Ivey (@aidenfoxivey)
- Ben Millwood (@bmillwood)
- Brian Camacho (@b-camacho)
- Brian McKenna (@puffnfresh)
- Eelco Dolstra (@edolstra)
- Fabian Möller (@B4dM4n)
- Illia Bobyr (@ilya-bobyr)
- Ivan Trubach (@tie)
- John Ericson (@Ericson2314)
- Jörg Thalheim (@Mic92)
- Leandro Emmanuel Reina Kiperman (@kip93)
- MaxHearnden (@MaxHearnden)
- Philipp Otterbein
- Robert Hensing (@roberth)
- Sandro (@SuperSandro2000)
- Sergei Zimmerman (@xokdvium)
- Silvan Mosberger (@infinisil)
- Someone (@SomeoneSerge)
- Steve Walker (@stevalkr)
- bcamacho2 (@bcamacho2)
- silvanshade (@silvanshade)
- tomberek (@tomberek)