Hi all,

I was reading this interesting piece of all-packages.nix
(comments/whitespace removed):

  applyGlobalOverrides = overrider:
    let
      overrides = overrider pkgsOrig //
        (lib.optionalAttrs (pkgsOrig.stdenv ? overrides && crossSystem
== null) (pkgsOrig.stdenv.overrides pkgsOrig));
      pkgsOrig = pkgsFun pkgs {};
      pkgs = pkgsFun pkgs overrides;
    in pkgs;

I'm familiar with tying-the-knot lazy trickery in haskell.
As pkgsOrig uses pkgs (the final end result including overrides), and
the overrider function gets passed pkgsOrig, I would expect the
following to work:

  packageOverrides = pkgs:
    { foo = "string";
      bar = pkgs.foo + " concatenation";
    };

However, it complains about foo missing.
What am I missing?

Thanks,
Mathijs
_______________________________________________
nix-dev mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to