18 pname = "matrix-gtk-theme";
53 lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants lib.checkListOfEnum
54 "${pname}: sizeVariants"
58 "${pname}: themeVariants"
62 "${pname}: tweakVariants"
66 "${pname}: iconVariants"
70 stdenvNoCC.mkDerivation
73 version = "0-unstable-2024-11-06";
75 src = fetchFromGitHub {
77 repo = "Matrix-GTK-Theme";
78 rev = "a91254e5827f5fb331308ecf893881bc9643f01a";
79 hash = "sha256-XiXKzXzzWcJIfEV8ngczovyjCqH7uX8tToihq66q+jo=";
82 propagatedUserEnvPkgs = [ gtk-engine-murrine ];
88 buildInputs = [ gnome-themes-extra ];
92 passthru.updateScript = unstableGitUpdater { };
95 patchShebangs themes/install.sh
100 mkdir -p $out/share/themes
102 ./install.sh -n Matrix \
103 ${lib.optionalString (colorVariants != [ ]) "-c " + toString colorVariants} \
104 ${lib.optionalString (sizeVariants != [ ]) "-s " + toString sizeVariants} \
105 ${lib.optionalString (themeVariants != [ ]) "-t " + toString themeVariants} \
106 ${lib.optionalString (tweakVariants != [ ]) "--tweaks " + toString tweakVariants} \
107 -d "$out/share/themes"
109 ${lib.optionalString (iconVariants != [ ]) ''
110 mkdir -p $out/share/icons
111 cp -a ${toString (map (v: "Matrix-${v}") iconVariants)} $out/share/icons/
117 description = "GTK theme based on the Matrix colour palette";
118 homepage = "https://github.com/D3vil0p3r/Matrix-GTK-Theme";
119 license = lib.licenses.gpl3Plus;
120 maintainers = with lib.maintainers; [ d3vil0p3r ];
121 platforms = lib.platforms.unix;