Tweag + Nix dev update #8

A short update for today, as several of us have been kept busy by client projects of all sort:

Trustix

@adisbladis brought several improvements to Trustix, both user-visible and internal.

  • The UI now integrates diffoscope to easily track the differences in case of a mismatch (affef2);
  • The backend now uses JSON rather than protobuf because there’s no way to ensure a canonical form for protobuf messages, making it harder to check the reproducibility of the results (7e6adb).

Nix UX

Nix saw several changes these last weeks thanks to @edolstra , in particular

  • nix flake update without any argument now updates all the inputs as discussed in a longstanding issue (453c3a).
  • nix run now takes into account meta.mainProgram to determine which program to run (7bd989)

Content-addressed Nix

Two important PRs have been merged recently, bringing content-addressed derivations over the wire:

  • #4477 makes it possible to use a remote builder with content addressed derivations
  • #4487 makes it possible to copy these derivations from one store to another

Thanks to #4477, hydra#875 tries to bring content-addressed derivations to hydra, and on top of #4487, #4592 will bring a proper remote cache of these derivations to Nix.

@thufschmitt also wrote a blog post explaining how to keep predictible identifiers in a content-addressed world.

Nickel

In addition to a number of fixes, Yann has been working on making the testsuite easier to understand and debug, and a deeper change is also on the rails to improve the ergonomy of contacts.

Misc

@edolstra fixed the build of Hydra with the latest Nix (a7d8e) and @thufschmitt removed a bit of untested (and actually broken) logic from it (#874).

13 Likes