Kde/patches: override packages instead of replacing at runtime

This causes A LOT more rebuilds, but it's less hacky
This commit is contained in:
Toast 2025-09-30 21:07:03 +02:00
parent 68218ec187
commit a4f27b49af

View file

@ -1,4 +1,4 @@
{lib, pkgs, ...}: let {lib, ...}: let
rootDirs = builtins.readDir ./.; rootDirs = builtins.readDir ./.;
removeFiles = lib.attrsets.filterAttrs (n: v: v == "directory") rootDirs; removeFiles = lib.attrsets.filterAttrs (n: v: v == "directory") rootDirs;
programsToPatch = builtins.attrNames removeFiles; programsToPatch = builtins.attrNames removeFiles;
@ -17,7 +17,9 @@
program: let program: let
unpatchedProgram = prev."${program}"; unpatchedProgram = prev."${program}";
in { in {
"${program}-patched" = unpatchedProgram.overrideAttrs { "${program}" = unpatchedProgram.overrideAttrs {
version = "${unpatchedProgram.version}-patched";
__intentionallyOverridingVersion = true;
patches = unpatchedProgram.patches ++ getPatches program; patches = unpatchedProgram.patches ++ getPatches program;
}; };
} }
@ -31,14 +33,4 @@ in {
} }
) )
]; ];
system.replaceDependencies.replacements = lib.lists.forEach programsToPatch (
package: {
oldDependency = pkgs.kdePackages.${package};
newDependency = pkgs.kdePackages."${package}-patched";
}
);
system.extraDependencies = lib.lists.forEach programsToPatch (
package: pkgs.kdePackages."${package}-patched"
);
} }