diff --git a/pkgs/by-name/ja/jasper-gtk-theme/package.nix b/pkgs/by-name/ja/jasper-gtk-theme/package.nix new file mode 100644 index 000000000000..33ffeaeefa71 --- /dev/null +++ b/pkgs/by-name/ja/jasper-gtk-theme/package.nix @@ -0,0 +1,102 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + gnome-themes-extra, + gtk-engine-murrine, + jdupes, + sassc, + themeVariants ? [ ], # default: teal + colorVariants ? [ ], # default: all + sizeVariants ? [ ], # default: standard + tweaks ? [ ], +}: + +let + pname = "jasper-gtk-theme"; + +in +lib.checkListOfEnum "${pname}: theme variants" + [ + "default" + "purple" + "pink" + "red" + "orange" + "yellow" + "green" + "blue" + "grey" + "all" + ] + themeVariants + lib.checkListOfEnum + "${pname}: color variants" + [ "standard" "light" "dark" ] + colorVariants + lib.checkListOfEnum + "${pname}: size variants" + [ "standard" "compact" ] + sizeVariants + lib.checkListOfEnum + "${pname}: tweaks" + [ + "nord" + "dracula" + "black" + "macos" + ] + tweaks + + stdenvNoCC.mkDerivation + rec { + inherit pname; + version = "0-unstable-2025-04-02"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = "Jasper-gtk-theme"; + rev = "71cb99a6618d839b1058cb8e6660a3b2f63aca70"; + hash = "sha256-ZWPUyVszDPUdzttAJuIA9caDpP4SQ7mIbCoczxwvsus="; + }; + + nativeBuildInputs = [ + jdupes + sassc + ]; + + buildInputs = [ + gnome-themes-extra + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + postPatch = '' + patchShebangs install.sh + ''; + + installPhase = '' + runHook preInstall + + name= HOME="$TMPDIR" ./install.sh \ + ${lib.optionalString (themeVariants != [ ]) "--theme " + builtins.toString themeVariants} \ + ${lib.optionalString (colorVariants != [ ]) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (sizeVariants != [ ]) "--size " + builtins.toString sizeVariants} \ + ${lib.optionalString (tweaks != [ ]) "--tweaks " + builtins.toString tweaks} \ + --dest $out/share/themes + + jdupes --quiet --link-soft --recurse $out/share + + runHook postInstall + ''; + + meta = { + description = "Modern and clean Gtk theme"; + homepage = "https://github.com/vinceliuice/Jasper-gtk-theme"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.romildo ]; + }; + }