17 pname = "gruvbox-gtk-theme";
51 lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants lib.checkListOfEnum
52 "${pname}: sizeVariants"
56 "${pname}: themeVariants"
60 "${pname}: tweakVariants"
64 "${pname}: iconVariants"
68 stdenvNoCC.mkDerivation
71 version = "0-unstable-2024-11-06";
73 src = fetchFromGitHub {
74 owner = "Fausto-Korpsvart";
75 repo = "Gruvbox-GTK-Theme";
76 rev = "d064cd480a1e4802851b35bf051e48c808802c2a";
77 hash = "sha256-LOizbRbPj3X0B0bED6fRcwxYeRFY8vtLk0i64pqyIyY=";
80 propagatedUserEnvPkgs = [ gtk-engine-murrine ];
82 nativeBuildInputs = [ sassc ];
83 buildInputs = [ gnome-themes-extra ];
87 passthru.updateScript = unstableGitUpdater { };
90 patchShebangs themes/install.sh
95 mkdir -p $out/share/themes
97 ./install.sh -n Gruvbox \
98 ${lib.optionalString (colorVariants != [ ]) "-c " + toString colorVariants} \
99 ${lib.optionalString (sizeVariants != [ ]) "-s " + toString sizeVariants} \
100 ${lib.optionalString (themeVariants != [ ]) "-t " + toString themeVariants} \
101 ${lib.optionalString (tweakVariants != [ ]) "--tweaks " + toString tweakVariants} \
102 -d "$out/share/themes"
104 ${lib.optionalString (iconVariants != [ ]) ''
105 mkdir -p $out/share/icons
106 cp -a ${toString (map (v: "Gruvbox-${v}") iconVariants)} $out/share/icons/
112 description = "GTK theme based on the Gruvbox colour palette";
113 homepage = "https://github.com/Fausto-Korpsvart/Gruvbox-GTK-Theme";
114 license = lib.licenses.gpl3Plus;
115 platforms = lib.platforms.unix;
116 maintainers = with lib.maintainers; [
117 luftmensch-luftmensch