2024-03-04 Nix team meeting minutes #130

Triage

remote instantiation (`NIX_REMOTE`, `--store`) is an order of magnitude slower than local instantiation + `nix copy` · Issue #10119 · NixOS/nix · GitHub

How do we prevent this thing from happening?

  • @eelco: Construct the derivation graph in memory and stream the whole result to the store?
    • Also would solve the issues with read-only mode
    • Not a perfect fix because only works for drv files, but already covers the bulk of the problem
  • Could also make eval-store an option
  • Maybe also separate build-store
  • In-memory eval store could be either an overlay store or a normal store

`fetchTree` performs fetch even when a `narHash` is provided · Issue #10104 · NixOS/nix · GitHub

Assigned to @edolstra

  • @roberth: The fetch cache is quite confusing, stores a whole bunch of different stuff, no schema
  • @edolstra: It’s a very generic KV store, makes the implementation much easier
  • @roberth: Might be hiding bugs, might want to be a bit stricter
  • @roberth: Maybe have a set of methods (of the same form) that make clear what’s the purpose of each “virtual table”
    • make sure to separate “pure” caching and “impure” caching

Installer bootstrapping issue due to nix 2.20.3 missing from nixpkgs · Issue #10109 · NixOS/nix · GitHub

  • @thufschmitt: Any way we could avoid that in the future?
  • @edolstra: In that instance, had to change an element from an array to an object, so hard to do in a forward-compatible way
  • @roberth: Could have kept both the object and the array under different names, and have the new version be able to handle both
  • For that, might jq a backwards migration script, although would be tricky to get Nix to rebuild a profile with all the right things

@thufschmitt will add a comment near the version field to warn people who’ll want to change it in the future.

Fix `__darwinAllowLocalNetworking` sandbox by szlend · Pull Request #10078 · NixOS/nix · GitHub

Merged

refactor: move the repl input code to its own file by lf- · Pull Request #10083 · NixOS/nix · GitHub

Looks good in theory, needs careful review

Assigned to @roberth

https://github.com/NixOS/nix/pull/10087

Assigned to @thufschmitt

Use SourcePath for reading flake.{nix,lock} by edolstra · Pull Request #10088 · NixOS/nix · GitHub

Suggestions by @Ericson2314, but can be a follow-up.
Merged

Improve support for subflakes by edolstra · Pull Request #10089 · NixOS/nix · GitHub

Makes subflakes actually usable.

  • @thufschmitt: Semantic changes?
    • @edolstra: Some things are more permissive. Like allowing subflakes to access the parent directory
    • @roberth: Too permissive?
    • Maybe should only allow that explicitly?
  • To discuss (and discussed below)

Ignore references when importing signatures by raboof · Pull Request #10101 · NixOS/nix · GitHub

improve error reports somewhat by pennae · Pull Request #9874 · NixOS/nix · GitHub

Assigned to @thufschmitt.
Will wait at least until after the release (early next week) to merge as it can be a disruptive change.

Forbid nested debuggers by 9999years · Pull Request #9920 · NixOS/nix · GitHub

Assigned to @thufschmitt, can merge once CI is green

feat: small-string optimization by tomberek · Pull Request #9895 · NixOS/nix · GitHub

Waiting for when Tom is back

Remove the stack overflow handler by edolstra · Pull Request #9878 · NixOS/nix · GitHub

Might be too early to remove it.
Not having it on Darwin is annoying

Could it be replaced by Instrumentation Options (Using the GNU Compiler Collection (GCC))?

Discussion

Add nixos-unstable based outputs, bdwgc 8.2.4, Nixpkgs lib tests, cleanup by roberth · Pull Request #9900 · NixOS/nix · GitHub

Improve support for subflakes by edolstra · Pull Request #10089 · NixOS/nix · GitHub

3 Likes