stockholm/krebs/5pkgs/haskell/default.nix
tv 585092f686 haskell overlay: only override packages
Fixes a regression introduced by a4c61396ed.
2017-08-10 14:08:40 +02:00

25 lines
641 B
Nix

with import <stockholm/lib>;
let
overrides = self: super:
listToAttrs
(map
(name: nameValuePair (removeSuffix ".nix" name)
(self.callPackage (./. + "/${name}") {}))
(filter
(name: name != "default.nix" && !hasPrefix "." name)
(attrNames (readDir ./.))));
in
self: super:
{
haskell = super.haskell // {
packages = mapAttrs (name: value:
if hasAttr "override" value
then value.override { inherit overrides; }
else value
) super.haskell.packages;
};
haskellPackages = super.haskellPackages.override {
inherit overrides;
};
}