summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/haskell/default.nix
blob: 7cdf65ea53b662496923c1c8887fc77e558c2ec3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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;
  };
}