nix-stuff/roles/kde/patches/default.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;
}
)
];
}