23 lines
1.0 KiB
Nix
23 lines
1.0 KiB
Nix
nixfiles: final: prev:
|
|
let
|
|
inherit (prev) lib callPackage fetchFromGitHub;
|
|
inherit (prev.lib) recurseIntoAttrs optionalAttrs;
|
|
isNewer = ref: ver: (builtins.compareVersions ver ref) == 1;
|
|
|
|
gimp-with-plugins-good = let
|
|
badPlugins = [ "gap" ];
|
|
itemInList = list: item: lib.any (x: x==item) list;
|
|
pluginFilter = name: value: (value.type or null == "derivation") && (!(itemInList badPlugins name)) && (!value.meta.broken);
|
|
filteredPlugins = lib.filterAttrs pluginFilter prev.gimpPlugins;
|
|
plugins = lib.mapAttrsToList (_: v: v) filteredPlugins;
|
|
in prev.gimp-with-plugins.override { inherit plugins; };
|
|
in {
|
|
gimp-with-plugins = gimp-with-plugins-good;
|
|
}
|
|
# # can't optionalAttrs for version checks because it breaks lazy eval and causes infinite recursion
|
|
# // {
|
|
# obsidian = let
|
|
# pkg = final.callPackage "${nixfiles.inputs.nixpkgs-unstable}/pkgs/applications/misc/obsidian" { electron = final.electron_28; };
|
|
# in if isNewer "1.4.16" prev.obsidian.version then prev.obsidian else pkg;
|
|
# }
|