flake.nix: Construct legacyPackages in one go

This saves the construction of an unused `pkgs` attrset and all that
is required to reach that, which is not a lot, but still significant.

Benchmark 1: nix eval .?ref=42608bc8e65c5bf596d6155ad2f0ded6253b1e69#hello.outPath --no-eval-cache
  Time (mean ± σ):      1.062 s ±  0.011 s    [User: 0.674 s, System: 0.226 s]
  Range (min … max):    1.040 s …  1.080 s    10 runs

Benchmark 2: nix eval .?ref=8a7e18b270cb2256a0526b9cda1d9e410aacd440#hello.outPath --no-eval-cache
  Time (mean ± σ):      1.317 s ±  0.033 s    [User: 0.835 s, System: 0.270 s]
  Range (min … max):    1.282 s …  1.371 s    10 runs

Summary
  nix eval .?ref=42608bc8e65c5bf596d6155ad2f0ded6253b1e69#hello.outPath --no-eval-cache ran
    1.24 ± 0.03 times faster than nix eval .?ref=8a7e18b270cb2256a0526b9cda1d9e410aacd440#hello.outPath --no-eval-cache

(where 42608bc had the same tree as this commit)
This commit is contained in:
Robert Hensing 2025-07-07 20:36:26 +02:00
parent bd3d85928a
commit b78a8c9109

View File

@ -209,11 +209,14 @@
*/ */
legacyPackages = forAllSystems ( legacyPackages = forAllSystems (
system: system:
(import ./. { inherit system; }).extend ( (import ./. {
final: prev: { inherit system;
lib = prev.lib.extend libVersionInfoOverlay; overlays = import ./pkgs/top-level/impure-overlays.nix ++ [
} (final: prev: {
) lib = prev.lib.extend libVersionInfoOverlay;
})
];
})
); );
/** /**