with import ; 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; }; }