Tweag + Nix dev update #28

Hello Nixers :wave:

Here are the latest news from the Tweag Nix team:

Nix UX

  • nix doctor is a nice little command that can easily diagnose common configuration issues with Nix. As a side-effect of a refactoring, it stopped printing anything some times ago. @regnat fixed it (nix#6362);
  • nix run was implicitely assuming that it was using a local store (and so could directly execute the result of the build). @edolstra made this assumption explicit by throwing a clear error when that’s not the case (nix#6330);
  • Certain failures of nix copy were throwing an empty error. @edolstra fixed this (nix#6371);
  • In 2.7, the templates flake output got extended to accept a welcomeText attribute to be printed on nix flake init or nix flake new. However nix flake check wasn’t aware of this and warned about this new attribute. @regnat fixed it (nix#6360);

Nix documentation

  • Because details matter, some people (including myself) got upset by the fact that the new Nix manual didn’t have any anchor for the nix.conf options (nix#5745). Because the same source is used by two different renderers (docbook for the html manual and lowdown for the man pages) with some slightly different ideas of what markdown is doing so was trickier than what it should have been. @regnat worked around the issue in a way that made both tools happy (nix#6363)
  • @regnat and @fricklerhandwerk recorded a hacking session on Nix. Hopefully the first of a long series :slight_smile: See the announcement post for more details.

Nix internals

  • The nice regression test trying to evaluate the whole of nixpkgs that @edolstra set up a few months ago started to pay off, catching a subtle semantic change that could thus be fixed in a matter of hours (nix#6347);
  • The new experimental fetchClosure builtin had a slight security hole, which @edolstra fixed (nix#6370);
  • nix profile install could in some cases try to refer to non-existing store paths, causing it to crash. @edolstra fixed this (nix#6328).


  • @garbas, @YannHam and @regnat continued brainstorming to get a nice Nix-Nickel interaction. Still not much to show unfortunately, but an RFC is on its way
  • In order to make it a more community-oriented project, @Yannham started working on a contributing guide (nickel#679)
  • @Yannham improved the location reporting for errors (nickel#667)
  • @Yannham fixed an ill-typed function from the stdlib (nickel#674)

And that’s all, folks. The rest is history

Hosted by Flying Circus.