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
ssh
for 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:
'Foo
instead 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 -
import
statements got shuffled around in the grammar. If the result of animport
is 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
query
operation 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