One day late because of the “local” bank holiday yesterday, here’s the new update from the Tweag Nix team (and the previous one is still here, and like a good old linked list you can even go back in time provided you’re ready to go through enough indirections).
Nix 2.4 !
The obvious big event of these last two weeks is the release of Nix 2.4 by @edolstra : https://discourse.nixos.org/t/nix-2-4-released/15822.
This caused a few issues (mostly caught as part of #144197), but surprisingly few given the size of the release.
UX improvements
With the help of @tomberek, the team started a more focused approach to improve the overall Nix UX.
This is tracked in the UX github project, and started bearing some fruits, notably
-
The first Nix UX working hour. This has been a one-shot experiment so far, but hopefully more will follow
-
@thufschmitt and @Radvendii started improving the experience with flake-local options (#5504), as well as laying the path to make it even more usable (#5505 and #5507)
-
@garbas worked on generating docker images straight from the Nix repository (#5453), so that anyone can easily get a docker image with the latest Nix version.
-
As a way to solve (part of) the eternal documentation problem, @edolstra authored a pull request to allow attaching some documentation to functors, and display it in the repl (#5527):
CA derivations
regnat tackled a couple issues that CA-derivation users were facing, namely,
- Tried to suppress a bottleneck making the substitution of CA derivations way to slow (#5472);
- Fixed an issue where the use of CA derivations was introducing a weird pseudo-cyclic dependency graph causing sqlite to refuse removing some paths (#5479);
- Fixed nix-repl
:b
in presence of CA-derivations (#5476)
Misc.
-
@thufschmitt reworked the internals of
--experimental-features
, making it easier to add (and more importantly remove) experimental features, and opening the way to more flexible things, like store-level experimental features (#5432) -
@balsoft recently joined the team, and started right away, restoring the possibility to use
builtins.{path,filterSource}
on store paths with references (#5494), and working on fixing a locking bug with flakes (#5518) -
@edolstra improved the performance of primops call by un-currying them, allowing a speedup up to 8% on
nix-env
(#5501)
Nickel
The Nickel team also got itself busy:
-
@yannham, @garbas, @thufschmitt and francois-caddet held a bikeshedding meeting disucssing the handling of external dependencies (#329);
-
@ysndr and Avi-D-coder did some more work on the LSP server.
- Thanks to Avi-D-coder, it is now natively integrated into neovim’s built-in lsp server (nvim-lspconfig#1369).
- The server itself got extended further to support much more constructs, and now properly handles a basic “hover” popup and go-to-definition:
-
@yannham fixed an issue where mixing contracts and default values wasn’t working as intended (#441)
-
litchpi fixed a strictness-related issue that caused function application to do weird things with
nickel query
(#433 and #443); -
litchipi started working on user-defined type aliases (#422).
And that’s all, folks