30 lines
775 B
Nix
30 lines
775 B
Nix
{lib, ...}: let
|
|
rootDirs = builtins.readDir ./.;
|
|
removeFiles = lib.attrsets.filterAttrs (n: v: v == "directory") rootDirs;
|
|
|
|
getPatches = name:
|
|
builtins.map (value: ./${name}/${value}) (builtins.attrNames (
|
|
lib.attrsets.filterAttrs (
|
|
n: v:
|
|
v == "regular" && lib.strings.hasSuffix ".patch" n
|
|
) (builtins.readDir ./${name})
|
|
));
|
|
|
|
bigOverlay = final: prev:
|
|
builtins.mapAttrs (
|
|
name: _value:
|
|
prev."${name}".overrideAttrs {
|
|
version = prev."${name}".version + "-patched";
|
|
patches = prev."${name}".patches ++ getPatches name;
|
|
}
|
|
)
|
|
removeFiles;
|
|
in {
|
|
nixpkgs.overlays = [
|
|
(
|
|
final: prev: {
|
|
kdePackages = prev.kdePackages.overrideScope bigOverlay;
|
|
}
|
|
)
|
|
];
|
|
}
|