Making Nix solve people’s problems 
- The newly assembled packages modules working group, attempting to drastically simplify the package overriding landscape of Nix via a module system, lead by @infinisil and the Nixpkgs Architecture Team, has started out with
56 members, regular meetings, and asynchronous tasks, all tracked in a repository - The Nixpkgs Architecture Team’s RFC 140 to simplify package contributions now has enough shepherd nominations to move forward, a first meeting is scheduled among the nominees
- @infinisil continues reviewing RFC 127 to improve Nixpkgs issues and warnings, now nominated as a shepherd
- @infinisil continues meeting to discuss and work on RFC 101, to establish a standard Nix formatting/formatter
Making Nix work reliably everywhere 

- @infinisil, @thufschmitt and @fricklerhandwerk contributed to the RFC review about stabilizing flakes
- @balsoft made a PR for sublist primop. This PR is based on a previous PR by @cleverca22 which indicated that this could be a quick win on evaluation performance. However, some “real-life” benchmarks that @thufschmitt ran on Nixpkgs seem to contradict that, so the PR is currently on hold.
-
@thufschmitt opened a pull-request to fix the ordering of the arguments that Nix passes to
sshfor remote stores - @thufschmitt reworked an old PR (credits to @RasmusRendal) making it possible for flakerefs to refer to paths with spaces or any unicode character in them.
- @yorickvp opened a pull-request to make the Nix CI properly sandboxed on Darwin, also catching a couple of related bugs
Making Nix ubiquitous
Blog posts and media
- @infinisil published 4 Nix Hour recordings \o/
Nickel
Nickel is getting close to releasing 1.0. The team has been spending most of their time fixing small issues, getting the house in order so to speak. However, there have also been bigger user-facing changes:
-
Enum tags are now written with a single quote as the starting delimiter instead of a backtick:
'Fooinstead of`Foo, #1279 -
Type annotations on record fields no longer propagate through merging like contracts. This resolves a vexing recurring issue with polymorphic contracts, #1271
-
Dictionary contracts are now distinct from dictionary types, with their own syntax
{_ | Contract}, #1272 -
importstatements got shuffled around in the grammar. If the result of animportis a function which you wish to apply to some arguments immediately, you now need parentheses, e.g.(import "foo.nix") 1 2. This will allow us to introduce some new features for imports in a forward compatible manner, #1293 -
@yannham fixed the parsing of field paths for the
queryoperation on the command line and in the REPL, #1276 -
Partial application of
(&&)and(||)is now supported; previously the evaluator erroneously insisted on every application being saturated #1281 -
Nickel now tracks record field names in contract labels, improving error reporting for contract violations #1287
-
@matthew-healy improved the error reporting when a field hidden behind a polymorphic record tail is accessed #1296
may Nix bring people together ![]()