Skip to content

Commit

Permalink
pkgs/top-level/config.nix: add various packageOverrides
Browse files Browse the repository at this point in the history
Hm, Haskell's one is actually an overlay.
  • Loading branch information
oxij committed Mar 9, 2019
1 parent fbf0f8d commit 1d1ebf5
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 6 deletions.
6 changes: 3 additions & 3 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -13384,12 +13384,12 @@ in
# the latest Maint version
perl528Packages = recurseIntoAttrs (callPackage ./perl-packages.nix {
perl = perl528;
overrides = (config.perlPackageOverrides or (p: {})) pkgs;
overrides = config.perlPackageOverrides pkgs;
});
# the latest Devel version
perldevelPackages = recurseIntoAttrs (callPackage ./perl-packages.nix {
perl = perldevel;
overrides = (config.perlPackageOverrides or (p: {})) pkgs;
overrides = config.perlPackageOverrides pkgs;
});

perlPackages = perl528Packages;
Expand Down Expand Up @@ -13437,7 +13437,7 @@ in
};

rPackages = dontRecurseIntoAttrs (callPackage ../development/r-modules {
overrides = (config.rPackageOverrides or (p: {})) pkgs;
overrides = config.rPackageOverrides pkgs;
});

### SERVERS
Expand Down
27 changes: 26 additions & 1 deletion pkgs/top-level/config.nix
Expand Up @@ -26,6 +26,11 @@ let
'';
});

mkOverrides = args: mkMassRebuild ({
type = types.functionTo (types.attrsOf (types.uniq types.unspecified));
default = super: {};
} // args);

options = {

/* Internal stuff */
Expand Down Expand Up @@ -106,7 +111,27 @@ let
description = "A list of blacklisted licenses.";
};

# TODO: packageOverrides, needs functionTo removed in 4ff1ab5a56f1280d2de319ad4eb4b2796e07ed35
/* Overlays */

# It feels to me like if overlays really belong here.

packageOverrides = mkOverrides {
description = "Poor man's global overlay.";
};

haskellPackageOverrides = mkMassRebuild {
type = types.uniq types.unspecified;
default = self: super: {};
description = "Haskell's overlay.";
};

perlPackageOverrides = mkOverrides {
description = "Poor man's perl overlay.";
};

rPackageOverrides = mkOverrides {
description = "Poor man's R overlay.";
};

# See discussion at https://github.com/NixOS/nixpkgs/pull/25304#issuecomment-298385426
# for why this defaults to false, but I (@copumpkin) want to default it to true soon.
Expand Down
3 changes: 1 addition & 2 deletions pkgs/top-level/stage.nix
Expand Up @@ -111,8 +111,7 @@ let
# attributes to refer to the original attributes (e.g. "foo =
# ... pkgs.foo ...").
configOverrides = self: super:
lib.optionalAttrs allowCustomOverrides
((config.packageOverrides or (super: {})) super);
lib.optionalAttrs allowCustomOverrides (config.packageOverrides super);

# Convenience attributes for instantitating package sets. Each of
# these will instantiate a new version of allPackages. Currently the
Expand Down

0 comments on commit 1d1ebf5

Please sign in to comment.