diff options
Diffstat (limited to 'nixpkgs/pkgs/data/themes')
7 files changed, 229 insertions, 34 deletions
diff --git a/nixpkgs/pkgs/data/themes/colloid-gtk-theme/default.nix b/nixpkgs/pkgs/data/themes/colloid-gtk-theme/default.nix index 6b56064b8734..71e7fb9a2863 100644 --- a/nixpkgs/pkgs/data/themes/colloid-gtk-theme/default.nix +++ b/nixpkgs/pkgs/data/themes/colloid-gtk-theme/default.nix @@ -1,7 +1,6 @@ { lib , stdenvNoCC , fetchFromGitHub -, gitUpdater , gnome-themes-extra , gtk-engine-murrine , jdupes @@ -23,13 +22,13 @@ lib.checkListOfEnum "${pname}: tweaks" [ "nord" "dracula" "gruvbox" "all" "black stdenvNoCC.mkDerivation rec { inherit pname; - version = "2023-08-12"; + version = "2023-10-28"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - hash = "sha256-Ss6IXd4vYUvIF5/Hn4IVLNvDSaewTY0GNZp7X5Lmz/c="; + hash = "sha256-NxIWH3qLW8sEguovAv9wfgnlnmPlTipRJTmMo3rSHNY="; }; nativeBuildInputs = [ @@ -64,8 +63,6 @@ stdenvNoCC.mkDerivation rec { runHook postInstall ''; - passthru.updateScript = gitUpdater { }; - meta = with lib; { description = "A modern and clean Gtk theme"; homepage = "https://github.com/vinceliuice/Colloid-gtk-theme"; diff --git a/nixpkgs/pkgs/data/themes/graphite-gtk-theme/default.nix b/nixpkgs/pkgs/data/themes/graphite-gtk-theme/default.nix index 31422625a48d..b59b1393c6d8 100644 --- a/nixpkgs/pkgs/data/themes/graphite-gtk-theme/default.nix +++ b/nixpkgs/pkgs/data/themes/graphite-gtk-theme/default.nix @@ -63,7 +63,7 @@ stdenvNoCC.mkDerivation rec { ${lib.optionalString wallpapers '' mkdir -p $out/share/backgrounds - cp -a wallpaper/Graphite-normal/*.png $out/share/backgrounds/ + cp -a wallpaper/Graphite/*.png $out/share/backgrounds/ ${lib.optionalString (builtins.elem "nord" tweaks) '' cp -a wallpaper/Graphite-nord/*.png $out/share/backgrounds/ ''} diff --git a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/default.nix b/nixpkgs/pkgs/data/themes/tokyo-night-gtk/default.nix index a117562174e5..dc3273e695b1 100644 --- a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/default.nix +++ b/nixpkgs/pkgs/data/themes/tokyo-night-gtk/default.nix @@ -1,38 +1,38 @@ { lib -, stdenvNoCC -, fetchFromGitHub +, callPackage +, runCommand , gtk-engine-murrine +, gnome-themes-extra }: -stdenvNoCC.mkDerivation { - pname = "tokyo-night-gtk"; - version = "2023.01.17"; +let + prefix = "tokyo-night-gtk"; - src = fetchFromGitHub { - owner = "Fausto-Korpsvart"; - repo = "Tokyo-Night-GTK-Theme"; - rev = "f7ae3421ac0d415ca57fb6224e093e12b8a980bb"; - sha256 = "sha256-90V55pRfgiaP1huhD+3456ziJ2EU24iNQHt5Ro+g+M0="; - }; + packages = lib.mapAttrs' (type: content: { + name = type; - propagatedUserEnvPkgs = [ - gtk-engine-murrine - ]; + value = lib.mapAttrs' (variantName: variant: { + name = variantName; + value = callPackage ./generic.nix { inherit prefix type variantName variant; }; + }) content; + }) (lib.importJSON ./variants.json); +in packages // { + # Not using `symlinkJoin` because it's massively inefficient in this case + full = runCommand "${prefix}_full" { + preferLocalBuild = true; - dontBuild = true; + propagatedUserEnvPkgs = [ + gtk-engine-murrine + gnome-themes-extra + ]; + } '' + mkdir -p $out/share/{icons,themes,${prefix}} - installPhase = '' - runHook preInstall - mkdir -p $out/share/themes - cp -a themes/* $out/share/themes - runHook postInstall + ${lib.concatStrings (lib.forEach (lib.attrValues (lib.attrsets.mergeAttrsList (lib.attrValues packages))) (variant: + '' + ln -s ${variant}/share/${variant.ptype}/Tokyonight-${variant.pvariant} $out/share/${variant.ptype}/Tokyonight-${variant.pvariant} + ln -s ${variant}/share/${prefix}/LICENSE $out/share/${prefix}/LICENSE 2>/dev/null || true + '' + ))} ''; - - meta = with lib; { - description = "A GTK theme based on the Tokyo Night colour palette."; - homepage = "www.pling.com/p/1681315/"; - license = licenses.gpl3Only; - platforms = platforms.unix; - maintainers = with lib.maintainers; [ garaiza-93 ]; - }; } diff --git a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/generic.nix b/nixpkgs/pkgs/data/themes/tokyo-night-gtk/generic.nix new file mode 100644 index 000000000000..35bf498666da --- /dev/null +++ b/nixpkgs/pkgs/data/themes/tokyo-night-gtk/generic.nix @@ -0,0 +1,77 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +, writeScript +, gtk-engine-murrine +, gnome-themes-extra +, prefix ? "" +, type ? "" +, variantName ? "" +, variant ? "" +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "${prefix}_${type}-${variantName}"; + version = "unstable-2023-05-30"; + + src = fetchFromGitHub { + owner = "Fausto-Korpsvart"; + repo = "Tokyo-Night-GTK-Theme"; + rev = "e9790345a6231cd6001f1356d578883fac52233a"; + hash = "sha256-Q9UnvmX+GpvqSmTwdjU4hsEsYhA887wPqs5pyqbIhmc="; + }; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + gnome-themes-extra + ]; + + dontPatch = true; + dontConfigure = true; + dontBuild = true; + dontFixup = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/{${type},${prefix}} + cp -a ${type}/Tokyonight-${variant} $out/share/${type} + cp -a LICENSE $out/share/${prefix} + + runHook postInstall + ''; + + passthru = { + updateScript = writeScript "update.sh" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl common-updater-scripts tree jq + res="$(curl ''${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \ + -sL "https://api.github.com/repos/${finalAttrs.src.owner}/${finalAttrs.src.repo}/commits/HEAD")" + + rev="$(echo $res | jq '.sha' --raw-output)" + version="unstable-$(echo $res | jq '.commit | .author | .date' --raw-output | sed 's/T.*$//')" + update-source-version ${prefix}-variants.${type}.${variantName} "$version" "$rev" --ignore-same-hash + + commonjq1='.[] .contents .[] | {(.name): .name} | walk(if type=="object" then with_entries(.key|=ascii_downcase) else . end)' + commonjq2='reduce inputs as $in (.; . + $in)' + commontree="-dJ -L 1 --noreport ${finalAttrs.src}" + + echo $(tree $commontree/icons | jq "$commonjq1" | jq "$commonjq2" | jq '{icons: .}') \ + $(tree $commontree/themes | jq "$commonjq1" | jq "$commonjq2" | jq '{themes: .}') | \ + jq 'reduce inputs as $in (.; . + $in)' | sed "s/[tT]okyonight-//g" > \ + "$(git rev-parse --show-toplevel)/pkgs/data/themes/${prefix}/variants.json" + ''; + + # For "full" in default.nix + ptype = type; + pvariant = variant; + }; + + meta = with lib; { + description = "A GTK theme based on the Tokyo Night colour palette"; + homepage = "https://www.pling.com/p/1681315"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = with maintainers; [ garaiza-93 Madouura ]; + }; +}) diff --git a/nixpkgs/pkgs/data/themes/tokyo-night-gtk/variants.json b/nixpkgs/pkgs/data/themes/tokyo-night-gtk/variants.json new file mode 100644 index 000000000000..6489d9c649de --- /dev/null +++ b/nixpkgs/pkgs/data/themes/tokyo-night-gtk/variants.json @@ -0,0 +1,18 @@ +{ + "icons": { + "dark": "Dark", + "dark-cyan": "Dark-Cyan", + "light": "Light", + "moon": "Moon" + }, + "themes": { + "dark-b": "Dark-B", + "dark-bl": "Dark-BL", + "dark-b-lb": "Dark-B-LB", + "dark-bl-lb": "Dark-BL-LB", + "storm-b": "Storm-B", + "storm-bl": "Storm-BL", + "storm-b-lb": "Storm-B-LB", + "storm-bl-lb": "Storm-BL-LB" + } +} diff --git a/nixpkgs/pkgs/data/themes/utterly-nord-plasma/default.nix b/nixpkgs/pkgs/data/themes/utterly-nord-plasma/default.nix new file mode 100644 index 000000000000..4fbb0f5b8a83 --- /dev/null +++ b/nixpkgs/pkgs/data/themes/utterly-nord-plasma/default.nix @@ -0,0 +1,63 @@ +{ lib +, stdenv +, fetchFromGitHub +, breeze-icons +, kdeclarative +, kirigami2 +, plasma-framework +, plasma-workspace +}: + +stdenv.mkDerivation rec { + pname = "utterly-nord-plasma"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "HimDek"; + repo = pname; + rev = "6d9ffe008f0bee47c8346c9a7ec71f206d999fd0"; + hash = "sha256-B5pIwV0BHxDluKWKTy+xuBPaE3N6UOHXip1SIAm2kM8="; + }; + + propagatedUserEnvPkgs = [ + breeze-icons + kdeclarative.bin + kirigami2 + plasma-framework.bin + plasma-workspace + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/{color-schemes,Kvantum,plasma/look-and-feel,sddm/themes,wallpapers,konsole} + + cp -a look-and-feel $out/share/plasma/look-and-feel/Utterly-Nord + cp -a look-and-feel-solid $out/share/plasma/look-and-feel/Utterly-Nord-solid + cp -a look-and-feel-light $out/share/plasma/look-and-feel/Utterly-Nord-light + cp -a look-and-feel-light-solid $out/share/plasma/look-and-feel/Utterly-Nord-light-solid + + cp -a *.colors $out/share/color-schemes/ + + cp -a wallpaper $out/share/wallpapers/Utterly-Nord + + cp -a kvantum $out/share/Kvantum/Utterly-Nord + cp -a kvantum-solid $out/share/Kvantum/Utterly-Nord-Solid + cp -a kvantum-light $out/share/Kvantum/Utterly-Nord-Light + cp -a kvantum-light-solid $out/share/Kvantum/Utterly-Nord-Light-Solid + + cp -a *.colorscheme $out/share/konsole/ + + cp -a sddm $out/share/sddm/themes/Utterly-Nord + + runHook postInstall + ''; + + meta = with lib; { + description = "A Plasma theme with Nordic Colors, transparency, blur and round edges for UI elements"; + homepage = "https://himdek.com/Utterly-Nord-Plasma/"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/data/themes/utterly-round-plasma-style/default.nix b/nixpkgs/pkgs/data/themes/utterly-round-plasma-style/default.nix new file mode 100644 index 000000000000..40bdb2f71d88 --- /dev/null +++ b/nixpkgs/pkgs/data/themes/utterly-round-plasma-style/default.nix @@ -0,0 +1,40 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "utterly-round-plasma-style"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "HimDek"; + repo = pname; + rev = "c3677d5223286f69871f6745cdb3b71367229d40"; + hash = "sha256-mlqRMz0cAZnnM4xE6p7fMzhGlqCQcM4FxmDlVnbGUgQ="; + }; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/{aurorae/themes,plasma/desktoptheme} + + cp -a aurorae/dark/translucent $out/share/aurorae/themes/Utterly-Round-Dark + cp -a aurorae/dark/solid $out/share/aurorae/themes/Utterly-Round-Dark-Solid + cp -a aurorae/light/translucent $out/share/aurorae/themes/Utterly-Round-Light + cp -a aurorae/light/solid $out/share/aurorae/themes/Utterly-Round-Light-Solid + + cp -a desktoptheme/translucent $out/share/plasma/desktoptheme/Utterly-Round + cp -a desktoptheme/solid $out/share/plasma/desktoptheme/Utterly-Round-Solid + + runHook postInstall + ''; + + meta = with lib; { + description = "A rounded desktop theme and window borders for Plasma 5 that follows any color scheme"; + homepage = "https://himdek.com/Utterly-Round-Plasma-Style/"; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = [ maintainers.romildo ]; + }; +} |