Tweag + Nix dev update #32

Hello Nixers :wave:t2:

Some words from your Tweag Nix Team since the last update:

Nix implementation

  • Despite a lot of conflicting stuff, @edolstra kept working on the source tree abstraction pull-request, helped by some testing by @layus and others. Amongst other things, this will fix some issues with subflakes and doesn’t break the evaluation cache anymore.

    In addition, that branch also contains a new builtins.patch primop to apply patches independently.

  • As a spin-off of the above, @edolstra merged a number of fixes developed for this branch into master (nix#6610).

  • While nix copy and nix-copy-closure used to parallelize the copy to make it faster, this optimization got removed in nix#5048 to allow batching the copy in the ssh:// case.
    There was however no real reason for not keeping both, so @thufschmitt and @ConnorBaker opened a pull-request to change this (nix#6612).

  • @mkaito started working towards fixing nix#5509, hopefully bringing back the possiblity of having fixed-output derivations with references – or at the very least having a nice message if Nix encounters one of these, with some pointer to a possible workaround.

  • @cole-h (from Determinate Systems) updated the nixpkgs version used by Nix. This accidentally broke the Darwin build because of a check that ensured that boost wasn’t included in the runtime closure. @edolstra fixed it (nix#6630).

  • An annoying quirk of the remote build implementation is that it generally won’t work out-of-the-box with non-NixOS builders (nix#1078). @balsoft opened a pull request to fix most instances of this issue (nix#6628).

Documentation

@fricklerhandwerk compiled detailed statistics on the 2022 community survey (extending the summary from 2022 Nix Survey Results) and continued his ongoing usability study to direct the planned efforts to improve documentation.

Nixpkgs maintenance

  • @YorikSar tried to make it easy to build and run a NixOS vm from MacOS.
    After a bit of trial-and-error and some patching, he managed to do it with a custom nixpkgs from here, bringing a fix for nixpkgs#108984.

  • @mkaito being on a break from a client updated and reviewed a couple of old pull-requests (nixpkgs#173412, nixpkgs#107938)

Misc


And that’s all, folks

11 Likes

Wow, great job @YorikSar!

I’m a macOS user but NixOS lover and currently using a Nix container plus Docker Desktop for deploying NixOS servers.

Your solution to get config.system.build.vm working on Darwin seems very logical in hindsight - awesome!

But your suggestion of System-agnostic builders honestly blew my mind. This would mean that we could for example build some /etc config file for some x86_64-linux NixOS machine on aarch64-darwin, right? So cool.