29 lines
865 B
Nix
29 lines
865 B
Nix
{lib, ...}: let
|
|
rootDirs = builtins.readDir ./.;
|
|
removeFiles = lib.attrsets.filterAttrs (n: v: v == "directory") rootDirs;
|
|
programsToPatch = builtins.attrNames removeFiles;
|
|
|
|
bigOverlay = final: prev:
|
|
lib.attrsets.mergeAttrsList (
|
|
lib.lists.forEach programsToPatch (
|
|
program: let
|
|
unpatchedProgram = prev."${program}";
|
|
newPatches = lib.toast.patches.patchesInPath (lib.path.append ./. program);
|
|
in {
|
|
"${program}" = unpatchedProgram.overrideAttrs {
|
|
version = "${unpatchedProgram.version}-patched";
|
|
__intentionallyOverridingVersion = true;
|
|
patches = unpatchedProgram.patches ++ newPatches;
|
|
};
|
|
}
|
|
)
|
|
);
|
|
in {
|
|
nixpkgs.overlays = [
|
|
(
|
|
final: prev: {
|
|
kdePackages = prev.kdePackages.overrideScope bigOverlay;
|
|
}
|
|
)
|
|
];
|
|
}
|