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 (
system:
(import ./. { inherit system; }).extend (
final: prev: {
lib = prev.lib.extend libVersionInfoOverlay;
}
)
(import ./. {
inherit system;
overlays = import ./pkgs/top-level/impure-overlays.nix ++ [
(final: prev: {
lib = prev.lib.extend libVersionInfoOverlay;
})
];
})
);
/**