self: super: with self.stockholm.lib; let overrides = self: super: mapNixDir (path: self.callPackage path {}) ./.; in { haskell = super.haskell // { packages = mapAttrs (name: value: if hasAttr "override" value then value.override (old: { overrides = composeExtensions (old.overrides or (_: _: {})) overrides; }) else value ) super.haskell.packages; }; haskellPackages = super.haskellPackages.override (old: { overrides = composeExtensions (old.overrides or (_: _: {})) overrides; }); }