diff options
Diffstat (limited to 'pkgs/by-name/to/tokyonight-gtk-theme/package.nix')
-rw-r--r-- | pkgs/by-name/to/tokyonight-gtk-theme/package.nix | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/pkgs/by-name/to/tokyonight-gtk-theme/package.nix b/pkgs/by-name/to/tokyonight-gtk-theme/package.nix new file mode 100644 index 0000000000000..2c402c008fa7f --- /dev/null +++ b/pkgs/by-name/to/tokyonight-gtk-theme/package.nix @@ -0,0 +1,128 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gnome, + sassc, + gnome-themes-extra, + gtk-engine-murrine, + unstableGitUpdater, + colorVariants ? [ ], + sizeVariants ? [ ], + themeVariants ? [ ], + tweakVariants ? [ ], + iconVariants ? [ ], +}: + +let + pname = "tokyonight-gtk-theme"; + colorVariantList = [ + "dark" + "light" + ]; + sizeVariantList = [ + "compact" + "standard" + ]; + themeVariantList = [ + "default" + "green" + "grey" + "orange" + "pink" + "purple" + "red" + "teal" + "yellow" + "all" + ]; + tweakVariantList = [ + "moon" + "storm" + "black" + "float" + "outline" + "macos" + ]; + iconVariantList = [ + "Dark-Cyan" + "Dark" + "Light" + "Moon" + ]; +in +lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants lib.checkListOfEnum + "${pname}: sizeVariants" + sizeVariantList + sizeVariants + lib.checkListOfEnum + "${pname}: themeVariants" + themeVariantList + themeVariants + lib.checkListOfEnum + "${pname}: tweakVariants" + tweakVariantList + tweakVariants + lib.checkListOfEnum + "${pname}: iconVariants" + iconVariantList + iconVariants + + stdenvNoCC.mkDerivation + { + inherit pname; + version = "0-unstable-2024-07-22"; + + src = fetchFromGitHub { + owner = "Fausto-Korpsvart"; + repo = "Tokyonight-GTK-Theme"; + rev = "a9a25010e9fbfca783c3c27258dbad76a9cc7842"; + hash = "sha256-HbrDDiMej4DjvskGItele/iCUY1NzlWlu3ZneA76feM="; + }; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + nativeBuildInputs = [ + gnome.gnome-shell + sassc + ]; + buildInputs = [ gnome-themes-extra ]; + + dontBuild = true; + + passthru.updateScript = unstableGitUpdater { }; + + postPatch = '' + patchShebangs themes/install.sh + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cd themes + ./install.sh -n Tokyonight \ + ${lib.optionalString (colorVariants != [ ]) "-c " + toString colorVariants} \ + ${lib.optionalString (sizeVariants != [ ]) "-s " + toString sizeVariants} \ + ${lib.optionalString (themeVariants != [ ]) "-t " + toString themeVariants} \ + ${lib.optionalString (tweakVariants != [ ]) "--tweaks " + toString tweakVariants} \ + -d "$out/share/themes" + cd ../icons + ${lib.optionalString (iconVariants != [ ]) '' + mkdir -p $out/share/icons + cp -a ${toString (map (v: "Tokyonight-${v}") iconVariants)} $out/share/icons/ + ''} + runHook postInstall + ''; + + meta = { + description = "GTK theme based on the Tokyo Night colour palette"; + homepage = "https://github.com/Fausto-Korpsvart/Tokyonight-GTK-Theme"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ + garaiza-93 + Madouura + d3vil0p3r + ]; + platforms = lib.platforms.unix; + }; + } |