5 , catppuccinColorVariants ? []
6 , draculaColorVariants ? []
7 , gruvboxColorVariants ? []
8 , originalColorVariants ? []
12 pname = "afterglow-cursors-recolored";
14 availableThemeVariants = [
21 availableColorVariants = {
70 lib.checkListOfEnum "${pname}: theme variants" availableThemeVariants themeVariants
71 lib.checkListOfEnum "${pname}: catppuccin color variants" availableColorVariants.Catppuccin catppuccinColorVariants
72 lib.checkListOfEnum "${pname}: dracula color variants" availableColorVariants.Dracula draculaColorVariants
73 lib.checkListOfEnum "${pname}: gruvbox color variants" availableColorVariants.Gruvbox gruvboxColorVariants
74 lib.checkListOfEnum "${pname}: original color variants" availableColorVariants.Original originalColorVariants
76 stdenvNoCC.mkDerivation {
78 version = "0-unstable-2023-10-04";
80 src = fetchFromGitHub {
81 owner = "TeddyBearKilla";
82 repo = "Afterglow-Cursors-Recolored";
83 rev = "940a5d30e52f8c827fa249d2bbcc4af889534888";
84 hash = "sha256-GR+d+jrbeIGpqal5krx83PxuQto2PQTO3unQ+jaJf6s=";
93 withAlternate = xs: xs': if xs != [ ] then xs else xs';
94 themeVariants' = withAlternate themeVariants availableThemeVariants;
96 Catppuccin = withAlternate catppuccinColorVariants availableColorVariants.Catppuccin;
97 Dracula = withAlternate draculaColorVariants availableColorVariants.Dracula;
98 Gruvbox = withAlternate gruvboxColorVariants availableColorVariants.Gruvbox;
99 Original = withAlternate originalColorVariants availableColorVariants.Original;
104 mkdir -p $out/share/icons
107 lib.concatMapStringsSep "\n" (theme:
108 lib.concatMapStringsSep "\n" (color: ''
110 "$src/colors/${theme}/${color}/dist-${lib.optionalString (theme != "Original") (dist.${theme} + "-")}${lib.toLower color}" \
111 "$out/share/icons/Afterglow-Recolored-${theme}-${color}"
112 '') colorVariants.${theme}
120 description = "Recoloring of the Afterglow Cursors x-cursor theme";
121 homepage = "https://github.com/TeddyBearKilla/Afterglow-Cursors-Recolored";
122 maintainers = with maintainers; [ d3vil0p3r ];
123 platforms = platforms.all;
124 license = licenses.gpl3Plus;