diff options
Diffstat (limited to 'pkgs/data/themes')
79 files changed, 3533 insertions, 0 deletions
diff --git a/pkgs/data/themes/adapta-kde/default.nix b/pkgs/data/themes/adapta-kde/default.nix new file mode 100644 index 00000000000..4feeeaa6c00 --- /dev/null +++ b/pkgs/data/themes/adapta-kde/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "adapta-kde-theme"; + version = "20180828"; + + src = fetchFromGitHub { + owner = "PapirusDevelopmentTeam"; + repo = "adapta-kde"; + rev = version; + sha256 = "1q85678sff8is2kwvgd703ckcns42gdga2c1rqlp61gb6bqf09j8"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + # Make this a fixed-output derivation + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + ouputHash = "0rxhk8sp81vb2mngqr7kn9vlqyliq9aqj2d25igcr01v5axbxbzb"; + + meta = { + description = "A port of the Adapta theme for Plasma"; + homepage = "https://git.io/adapta-kde"; + license = lib.licenses.gpl3; + maintainers = [ lib.maintainers.tadfisher ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/data/themes/adapta/default.nix b/pkgs/data/themes/adapta/default.nix new file mode 100644 index 00000000000..fc6e5b8c355 --- /dev/null +++ b/pkgs/data/themes/adapta/default.nix @@ -0,0 +1,49 @@ +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, parallel, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine, gnome }: + +stdenv.mkDerivation rec { + pname = "adapta-gtk-theme"; + version = "3.95.0.11"; + + src = fetchFromGitHub { + owner = "adapta-project"; + repo = "adapta-gtk-theme"; + rev = version; + sha256 = "19skrhp10xx07hbd0lr3d619vj2im35d8p9rmb4v4zacci804q04"; + }; + + preferLocalBuild = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + parallel + sassc + inkscape + libxml2 + glib.dev + gnome.gnome-shell + ]; + + buildInputs = [ + gdk-pixbuf + librsvg + ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + postPatch = "patchShebangs ."; + + configureFlags = [ + "--disable-gtk_legacy" + "--disable-gtk_next" + "--disable-unity" + ]; + + meta = with lib; { + description = "An adaptive GTK theme based on Material Design Guidelines"; + homepage = "https://github.com/adapta-project/adapta-gtk-theme"; + license = with licenses; [ gpl2 cc-by-sa-30 ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/adementary/default.nix b/pkgs/data/themes/adementary/default.nix new file mode 100644 index 00000000000..8b03132bfcb --- /dev/null +++ b/pkgs/data/themes/adementary/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, gtk3, sassc }: + +stdenv.mkDerivation rec { + pname = "adementary-theme"; + version = "201905r1"; + + src = fetchFromGitHub { + owner = "hrdwrrsk"; + repo = pname; + rev = version; + sha256 = "14y5s18g9r2c1ciw1skfksn09gvqgy8vjvwbr0z8gacf0jc2apqk"; + }; + + preBuild = '' + # Shut up inkscape's warnings + export HOME="$NIX_BUILD_ROOT" + ''; + + nativeBuildInputs = [ sassc ]; + buildInputs = [ gtk3 ]; + + postPatch = "patchShebangs ."; + + installPhase = '' + mkdir -p $out/share/themes + ./install.sh -d $out/share/themes + ''; + + meta = with lib; { + description = "Adwaita-based GTK theme with design influence from elementary OS and Vertex GTK theme"; + homepage = "https://github.com/hrdwrrsk/adementary-theme"; + license = licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/data/themes/adwaita-qt/default.nix b/pkgs/data/themes/adwaita-qt/default.nix new file mode 100644 index 00000000000..37cca06a69c --- /dev/null +++ b/pkgs/data/themes/adwaita-qt/default.nix @@ -0,0 +1,57 @@ +{ mkDerivation +, stdenv +, lib +, fetchFromGitHub +, nix-update-script +, cmake +, ninja +, qtbase +, qt5 +, xorg +}: + +mkDerivation rec { + pname = "adwaita-qt"; + version = "1.4.1"; + + outputs = [ "out" "dev" ]; + + src = fetchFromGitHub { + owner = "FedoraQt"; + repo = pname; + rev = version; + sha256 = "sha256-t9vv1KcMUg8Qe7lhVMN4GO+VPoT7QzeoQ6hV4fesA8U="; + }; + + nativeBuildInputs = [ + cmake + ninja + ]; + + buildInputs = [ + qtbase + qt5.qtx11extras + ] ++ lib.optionals stdenv.isLinux [ + xorg.libxcb + ]; + + postPatch = '' + # Fix plugin dir + substituteInPlace src/style/CMakeLists.txt \ + --replace "DESTINATION \"\''${QT_PLUGINS_DIR}/styles" "DESTINATION \"$qtPluginPrefix/styles" + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + + meta = with lib; { + description = "A style to bend Qt applications to look like they belong into GNOME Shell"; + homepage = "https://github.com/FedoraQt/adwaita-qt"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members ++ (with maintainers; [ ]); + platforms = platforms.all; + }; +} diff --git a/pkgs/data/themes/albatross/default.nix b/pkgs/data/themes/albatross/default.nix new file mode 100644 index 00000000000..b53dd553ca2 --- /dev/null +++ b/pkgs/data/themes/albatross/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "Albatross"; + version = "1.7.4"; + + src = fetchFromGitHub { + repo = "Albatross"; + owner = "shimmerproject"; + rev = "v${version}"; + sha256 = "0mq87n2hxy44nzr567av24n5nqjaljhi1afxrn3mpjqdbkq7lx88"; + }; + + dontBuild = true; + + installPhase = '' + install -dm 755 $out/share/themes/Albatross + cp -dr --no-preserve='ownership' {LICENSE.GPL,README,index.theme,gtk-2.0,gtk-3.0,metacity-1,xfwm4} $out/share/themes/Albatross/ + ''; + + meta = { + description = "A desktop Suite for Xfce"; + homepage = "https://github.com/shimmerproject/Albatross"; + license = lib.licenses.gpl2; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/data/themes/amber/default.nix b/pkgs/data/themes/amber/default.nix new file mode 100644 index 00000000000..e39f0e3f645 --- /dev/null +++ b/pkgs/data/themes/amber/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "amber-theme"; + version = "3.38-1"; + + src = fetchFromGitHub { + owner = "lassekongo83"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-OrdBeAD+gdIu6u8ESE9PtqYadSuJ8nx1Z8fB4D9y4W4="; + }; + + nativeBuildInputs = [ meson ninja sassc ]; + + buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + meta = with lib; { + description = "GTK, gnome-shell and Xfce theme based on Ubuntu Ambiance"; + homepage = "https://github.com/lassekongo83/amber-theme"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/ant-theme/ant-bloody.nix b/pkgs/data/themes/ant-theme/ant-bloody.nix new file mode 100644 index 00000000000..66cd3e247a7 --- /dev/null +++ b/pkgs/data/themes/ant-theme/ant-bloody.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchurl, gtk-engine-murrine }: + +let + themeName = "Ant-Bloody"; +in +stdenv.mkDerivation rec { + pname = "ant-bloody-theme"; + version = "1.3.0"; + + src = fetchurl { + url = "https://github.com/EliverLara/${themeName}/releases/download/v${version}/${themeName}.tar"; + sha256 = "0rrz50kmzjmqj17hvrw67pbaclwxv85i5m08s7842iky6dnn5z8s"; + }; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes/${themeName} + cp -a * $out/share/themes/${themeName} + rm -r $out/share/themes/${themeName}/{Art,LICENSE,README.md,gtk-2.0/render-assets.sh} + runHook postInstall + ''; + + meta = with lib; { + description = "Bloody variant of the Ant theme"; + homepage = "https://github.com/EliverLara/${themeName}"; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = with maintainers; [ alexarice ]; + }; +} diff --git a/pkgs/data/themes/ant-theme/ant-nebula.nix b/pkgs/data/themes/ant-theme/ant-nebula.nix new file mode 100644 index 00000000000..a6279157235 --- /dev/null +++ b/pkgs/data/themes/ant-theme/ant-nebula.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchurl, gtk-engine-murrine }: + +let + themeName = "Ant-Nebula"; +in +stdenv.mkDerivation rec { + pname = "ant-nebula-theme"; + version = "1.3.0"; + + src = fetchurl { + url = "https://github.com/EliverLara/${themeName}/releases/download/v${version}/${themeName}.tar"; + sha256 = "1xpgw577nmgjk547mg2vvv0gdai60srgncykm5pb1w8dnlk69jbz"; + }; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes/${themeName} + cp -a * $out/share/themes/${themeName} + rm -r $out/share/themes/${themeName}/{Art,LICENSE,README.md,gtk-2.0/render-assets.sh} + runHook postInstall + ''; + + meta = with lib; { + description = "Nebula variant of the Ant theme"; + homepage = "https://github.com/EliverLara/${themeName}"; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = with maintainers; [ alexarice ]; + }; +} diff --git a/pkgs/data/themes/ant-theme/ant.nix b/pkgs/data/themes/ant-theme/ant.nix new file mode 100644 index 00000000000..250b77a66e8 --- /dev/null +++ b/pkgs/data/themes/ant-theme/ant.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchurl, gtk-engine-murrine }: + +let + themeName = "Ant"; +in +stdenv.mkDerivation rec { + pname = "ant-theme"; + version = "1.3.0"; + + src = fetchurl { + url = "https://github.com/EliverLara/${themeName}/releases/download/v${version}/${themeName}.tar"; + sha256 = "1r795v96ywzcb4dq08q2fdbmfia32g36cc512mhy41s8fb1a47dz"; + }; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes/${themeName} + cp -a * $out/share/themes/${themeName} + rm -r $out/share/themes/${themeName}/{Art,LICENSE,README.md,gtk-2.0/render-assets.sh} + runHook postInstall + ''; + + meta = with lib; { + description = "A flat and light theme with a modern look"; + homepage = "https://github.com/EliverLara/${themeName}"; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = with maintainers; [ alexarice ]; + }; +} diff --git a/pkgs/data/themes/arc-kde/default.nix b/pkgs/data/themes/arc-kde/default.nix new file mode 100644 index 00000000000..ecf798364ff --- /dev/null +++ b/pkgs/data/themes/arc-kde/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "arc-kde-theme"; + version = "20180614"; + + src = fetchFromGitHub { + owner = "PapirusDevelopmentTeam"; + repo = "arc-kde"; + rev = version; + sha256 = "0wli16k9my7m8a9561545vjwfifmxm4w606z1h0j08msvlky40xw"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + # Make this a fixed-output derivation + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + ouputHash = "2c2def57092a399aa1c450699cbb8639f47d751157b18db17"; + + meta = { + description = "A port of the arc theme for Plasma"; + homepage = "https://git.io/arc-kde"; + license = lib.licenses.gpl3; + maintainers = [ lib.maintainers.nixy ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/data/themes/arc/default.nix b/pkgs/data/themes/arc/default.nix new file mode 100644 index 00000000000..ea18da119c7 --- /dev/null +++ b/pkgs/data/themes/arc/default.nix @@ -0,0 +1,65 @@ +{ lib, stdenv +, fetchFromGitHub +, sassc +, meson +, ninja +, pkg-config +, gtk3 +, glib +, gnome +, gtk-engine-murrine +, optipng +, inkscape +, cinnamon +}: + +stdenv.mkDerivation rec { + pname = "arc-theme"; + version = "20211018"; + + src = fetchFromGitHub { + owner = "jnsh"; + repo = pname; + rev = version; + sha256 = "1rrxm5b7l8kq1h0lm08ck54xljzm8w573mxx904n3rhdg3ri9d63"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + sassc + optipng + inkscape + gtk3 + glib # for glib-compile-resources + ]; + + propagatedUserEnvPkgs = [ + gnome.gnome-themes-extra + gtk-engine-murrine + ]; + + preBuild = '' + # Shut up inkscape's warnings about creating profile directory + export HOME="$NIX_BUILD_ROOT" + ''; + + mesonFlags = [ + "-Dthemes=cinnamon,gnome-shell,gtk2,gtk3,plank,xfwm,metacity" + "-Dvariants=light,darker,dark,lighter" + "-Dcinnamon_version=${cinnamon.cinnamon-common.version}" + "-Dgnome_shell_version=${gnome.gnome-shell.version}" + "-Dgtk3_version=${gtk3.version}" + # You will need to patch gdm to make use of this. + "-Dgnome_shell_gresource=true" + ]; + + meta = with lib; { + description = "Flat theme with transparent elements for GTK 3, GTK 2 and Gnome Shell"; + homepage = "https://github.com/jnsh/arc-theme"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ simonvandel romildo ]; + }; +} diff --git a/pkgs/data/themes/artim-dark/default.nix b/pkgs/data/themes/artim-dark/default.nix new file mode 100644 index 00000000000..9485f46b19a --- /dev/null +++ b/pkgs/data/themes/artim-dark/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenvNoCC, fetchFromGitHub }: + +stdenvNoCC.mkDerivation rec{ + pname = "artim-dark"; + version = "unstable-2021-12-29"; + + src = fetchFromGitHub { + owner="Mrcuve0"; + repo="Aritim-Dark"; + rev = "99cd330a1ab4814260e28f15431e3338a1103668"; + hash = "sha256-xGnw5KpXbVyDdTuAkav1Hec6bitpZdPzZk0xv7WHTdY="; + }; + + dontBuild = true; + installPhase = '' + mkdir -p $out/share/plasma/desktoptheme + cp -R KDE/plasmaTheme/Aritim-Dark* $out/share/plasma/desktoptheme + mkdir -p $out/share/aurorae/themes + cp -R KDE/auroraeTheme $out/share/aurorae/themes/Aritim-Dark + mkdir -p $out/share/color-schemes + cp -R KDE/colorScheme/*.colors $out/share/color-schemes + mkdir -p $out/share/plasma/look-and-feel + cp -R KDE/globalTheme $out/share/plasma/look-and-feel/Aritim-Dark + mkdir -p $out/share/themes + cp -R GTK $out/share/themes/Aritim-Dark + ''; + + meta = { + description = "Dark theme deeply inspired by the Ayu Dark color palette"; + homepage = "https://github.com/Mrcuve0/Aritim-Dark"; + license = with lib.licenses; [ gpl3Only ]; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.pasqui23 ]; + }; +} diff --git a/pkgs/data/themes/ayu-theme-gtk/default.nix b/pkgs/data/themes/ayu-theme-gtk/default.nix new file mode 100644 index 00000000000..2e8453b097d --- /dev/null +++ b/pkgs/data/themes/ayu-theme-gtk/default.nix @@ -0,0 +1,68 @@ +{ stdenv +, autoreconfHook +, fetchFromGitHub +, gnome +, gtk-engine-murrine +, gtk3 +, inkscape +, lib +, optipng +, pkg-config +, sassc +}: + +stdenv.mkDerivation rec { + pname = "ayu-theme-gtk"; + version = "unstable-2017-05-12"; + + src = fetchFromGitHub { + owner = "dnordstrom"; + repo = "ayu-theme"; + rev = "cc6f3d3b72897c304e2f00afcaf51df863155e35"; + sha256 = "sha256-1EhTfPhYl+4IootTCCE04y6V7nW1/eWdHarfF7/j1U0="; + }; + + postPatch = '' + ln -sn 3.20 common/gtk-3.0/3.24 + ln -sn 3.18 common/gnome-shell/3.24 + ''; + + nativeBuildInputs = [ + autoreconfHook + gtk3 + inkscape + optipng + pkg-config + sassc + ]; + + propagatedUserEnvPkgs = [ + gnome.gnome-themes-extra + gtk-engine-murrine + ]; + + enableParallelBuilding = true; + + preBuild = '' + # Shut up inkscape's warnings about creating profile directory + export HOME="$NIX_BUILD_ROOT" + ''; + + configureFlags = [ + "--with-gnome-shell=${gnome.gnome-shell.version}" + "--disable-unity" + ]; + + postInstall = '' + install -Dm644 -t $out/share/doc/${pname} AUTHORS *.md + ''; + + meta = with lib; { + description = "Ayu colored GTK and Kvantum themes based on Arc"; + homepage = "https://github.com/dnordstrom/ayu-theme/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ lovesegfault ]; + }; +} + diff --git a/pkgs/data/themes/blackbird/default.nix b/pkgs/data/themes/blackbird/default.nix new file mode 100644 index 00000000000..a3f481b6d4e --- /dev/null +++ b/pkgs/data/themes/blackbird/default.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchFromGitHub, autoreconfHook, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "Blackbird"; + version = "2017-12-13"; + + src = fetchFromGitHub { + repo = pname; + owner = "shimmerproject"; + rev = "a1c5674c0ec38b4cc8ba41d2c0e6187987ae7eb4"; + sha256 = "0xskcw36ci2ykra5gir5pkrawh2qkcv18p4fp2kxivssbd20d4jw"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + meta = { + description = "Dark Desktop Suite for Gtk, Xfce and Metacity"; + homepage = "https://github.com/shimmerproject/Blackbird"; + license = with lib.licenses; [ gpl2Plus cc-by-nc-sa-30 ]; + platforms = lib.platforms.linux; + maintainers = [ lib.maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/canta/default.nix b/pkgs/data/themes/canta/default.nix new file mode 100644 index 00000000000..5666eded73f --- /dev/null +++ b/pkgs/data/themes/canta/default.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, fetchFromGitHub +, gdk-pixbuf +, librsvg +, gtk-engine-murrine +, gtk3 +, gnome +, gnome-icon-theme +, numix-icon-theme-circle +, hicolor-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "canta-theme"; + version = "2021-09-08"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "05h42nrggb6znzjcbh4lqqfcm41h4r85n3vwimp3l4lq5p90igr2"; + }; + + nativeBuildInputs = [ + gtk3 + ]; + + buildInputs = [ + gdk-pixbuf + librsvg + ]; + + propagatedBuildInputs = [ + gnome.adwaita-icon-theme + gnome-icon-theme + numix-icon-theme-circle + hicolor-icon-theme + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontDropIconThemeCache = true; + + installPhase = '' + patchShebangs . + mkdir -p $out/share/themes + name= ./install.sh --dest $out/share/themes + rm $out/share/themes/*/{AUTHORS,COPYING} + install -D -t $out/share/backgrounds wallpaper/canta-wallpaper.svg + mkdir -p $out/share/icons + cp -a icons/Canta $out/share/icons + gtk-update-icon-cache $out/share/icons/Canta + ''; + + meta = with lib; { + description = "Flat Design theme for GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/Canta-theme"; + license = licenses.gpl2Only; + platforms = platforms.linux; # numix-icon-theme-circle unavailable in darwin + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/clearlooks-phenix/default.nix b/pkgs/data/themes/clearlooks-phenix/default.nix new file mode 100644 index 00000000000..0157914d8fc --- /dev/null +++ b/pkgs/data/themes/clearlooks-phenix/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchzip }: + +stdenv.mkDerivation rec { + version = "7.0.1"; + pname = "clearlooks-phenix"; + + src = fetchzip { + url = "https://github.com/jpfleury/clearlooks-phenix/archive/${version}.tar.gz"; + sha256 = "1b6y4l3rf3c5r4v72fyj3ppvnvw13kvr2a1dyl63ni1jxnlk50kd"; + }; + + dontBuild = true; + installPhase = '' + mkdir -p $out/share/themes/Clearlooks-Phenix + cp -r . $out/share/themes/Clearlooks-Phenix/ + ''; + + preferLocalBuild = true; + + meta = with lib; { + description = "GTK3 port of the Clearlooks theme"; + longDescription = '' + The Clearlooks-Phénix project aims at creating a GTK3 port of Clearlooks, + the default theme for Gnome 2. Style is also included for GTK2, Unity and + for Metacity, Openbox and Xfwm4 window managers. + ''; + homepage = "https://github.com/jpfleury/clearlooks-phenix"; + downloadPage = "https://github.com/jpfleury/clearlooks-phenix/releases"; + license = licenses.gpl3; + maintainers = [ maintainers.prikhi ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix new file mode 100644 index 00000000000..cb6fc84723f --- /dev/null +++ b/pkgs/data/themes/dracula-theme/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv, fetchFromGitHub, gtk-engine-murrine }: + +let + themeName = "Dracula"; + version = "3.0"; +in +stdenv.mkDerivation { + pname = "dracula-theme"; + inherit version; + + src = fetchFromGitHub { + owner = "dracula"; + repo = "gtk"; + rev = "v${version}"; + sha256 = "sha256-7DUT/DfvCSo9GiJzqhqvegNCARB0eGtPQ6oUQG/Uja0="; + }; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes/${themeName} + cp -a {assets,cinnamon,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,index.theme,metacity-1,unity,xfwm4} $out/share/themes/${themeName} + + cp -a kde/{color-schemes,plasma} $out/share/ + cp -a kde/kvantum $out/share/Kvantum + mkdir -p $out/share/aurorae/themes + cp -a kde/aurorae/* $out/share/aurorae/themes/ + mkdir -p $out/share/sddm/themes + cp -a kde/sddm/* $out/share/sddm/themes/ + + mkdir -p $out/share/icons/Dracula-cursors + mv kde/cursors/Dracula-cursors/index.theme $out/share/icons/Dracula-cursors/cursor.theme + mv kde/cursors/Dracula-cursors/cursors $out/share/icons/Dracula-cursors/cursors + + runHook postInstall + ''; + + meta = with lib; { + description = "Dracula variant of the Ant theme"; + homepage = "https://github.com/dracula/gtk"; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = with maintainers; [ alexarice ]; + }; +} diff --git a/pkgs/data/themes/e17gtk/default.nix b/pkgs/data/themes/e17gtk/default.nix new file mode 100644 index 00000000000..b6cc44aa0d5 --- /dev/null +++ b/pkgs/data/themes/e17gtk/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "e17gtk"; + version = "3.22.2"; + + src = fetchFromGitHub { + owner = "tsujan"; + repo = "E17gtk"; + rev = "V${version}"; + sha256 = "1qwj1hmdlk8sdqhkrh60p2xg4av1rl0lmipdg5j0i40318pmiml1"; + }; + + installPhase = '' + mkdir -p $out/share/{doc,themes}/E17gtk + cp -va index.theme gtk-2.0 gtk-3.0 metacity-1 $out/share/themes/E17gtk/ + cp -va README.md WORKAROUNDS screenshot.jpg $out/share/doc/E17gtk/ + ''; + + meta = { + description = "An Enlightenment-like GTK theme with sharp corners"; + homepage = "https://github.com/tsujan/E17gtk"; + license = lib.licenses.gpl3; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/equilux-theme/default.nix b/pkgs/data/themes/equilux-theme/default.nix new file mode 100644 index 00000000000..067c2b88a09 --- /dev/null +++ b/pkgs/data/themes/equilux-theme/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchFromGitHub, gnome, glib, libxml2, gtk-engine-murrine, gdk-pixbuf, librsvg, bc }: + +stdenv.mkDerivation rec { + pname = "equilux-theme"; + version = "20181029"; + + src = fetchFromGitHub { + owner = "ddnexus"; + repo = "equilux-theme"; + rev = "equilux-v${version}"; + sha256 = "0lv2yyxhnmnkwxp576wnb01id4fp734b5z5n0l67sg5z7vc2h8fc"; + }; + + nativeBuildInputs = [ glib libxml2 bc ]; + + buildInputs = [ gnome.gnome-themes-extra gdk-pixbuf librsvg ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + dontBuild = true; + + installPhase = '' + patchShebangs install.sh + sed -i install.sh \ + -e "s|if .*which gnome-shell.*;|if true;|" \ + -e "s|CURRENT_GS_VERSION=.*$|CURRENT_GS_VERSION=${lib.versions.majorMinor gnome.gnome-shell.version}|" + mkdir -p $out/share/themes + ./install.sh --dest $out/share/themes + rm $out/share/themes/*/COPYING + ''; + + meta = with lib; { + inherit (src.meta) homepage; + description = "A Material Design theme for GNOME/GTK based desktop environments"; + license = licenses.gpl2; + platforms = platforms.all; + maintainers = [ maintainers.fpletz ]; + }; +} diff --git a/pkgs/data/themes/flat-remix-gnome/default.nix b/pkgs/data/themes/flat-remix-gnome/default.nix new file mode 100644 index 00000000000..c5647094d8f --- /dev/null +++ b/pkgs/data/themes/flat-remix-gnome/default.nix @@ -0,0 +1,44 @@ +{ stdenv +, fetchFromGitHub +, glib +, lib +, writeScriptBin +}: +let + # make install will use dconf to find desktop background file uri. + # consider adding an args to allow specify pictures manually. + # https://github.com/daniruiz/flat-remix-gnome/blob/20211223/Makefile#L38 + fake-dconf = writeScriptBin "dconf" "echo -n"; +in +stdenv.mkDerivation rec { + pname = "flat-remix-gnome"; + version = "20211223"; + + src = fetchFromGitHub { + owner = "daniruiz"; + repo = pname; + rev = version; + hash = "sha256-hAehJNDr8r0Jhhz0h7ygXI08ouNiWDT16SPm49i90lM="; + }; + + nativeBuildInputs = [ glib fake-dconf ]; + makeFlags = [ "PREFIX=$(out)" ]; + preInstall = '' + # make install will back up this file, it will fail if the file doesn't exist. + # https://github.com/daniruiz/flat-remix-gnome/blob/20211223/Makefile#L56 + mkdir -p $out/share/gnome-shell/ + touch $out/share/gnome-shell/gnome-shell-theme.gresource + ''; + + postInstall = '' + rm $out/share/gnome-shell/gnome-shell-theme.gresource.old + ''; + + meta = with lib; { + description = "GNOME Shell theme inspired by material design."; + homepage = "https://drasite.com/flat-remix-gnome"; + license = licenses.cc-by-sa-40; + platforms = platforms.linux; + maintainers = [ maintainers.vanilla ]; + }; +} diff --git a/pkgs/data/themes/flat-remix-gtk/default.nix b/pkgs/data/themes/flat-remix-gtk/default.nix new file mode 100644 index 00000000000..fec900a2d7e --- /dev/null +++ b/pkgs/data/themes/flat-remix-gtk/default.nix @@ -0,0 +1,33 @@ +{ stdenv +, lib +, fetchFromGitHub +, gtk-engine-murrine +}: + +stdenv.mkDerivation rec { + pname = "flat-remix-gtk"; + version = "20220310"; + + src = fetchFromGitHub { + owner = "daniruiz"; + repo = pname; + rev = version; + sha256 = "sha256-fKkqMGb1UopjM7hTTury1I3oD5AlHqKP+WLmgAZIQxo="; + }; + + dontBuild = true; + + makeFlags = [ "PREFIX=$(out)" ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + meta = with lib; { + description = "GTK application theme inspired by material design"; + homepage = "https://drasite.com/flat-remix-gtk"; + license = licenses.gpl3Only; + platforms = platforms.all; + maintainers = [ maintainers.mkg20001 ]; + }; +} diff --git a/pkgs/data/themes/gnome-breeze/default.nix b/pkgs/data/themes/gnome-breeze/default.nix new file mode 100644 index 00000000000..38733590a34 --- /dev/null +++ b/pkgs/data/themes/gnome-breeze/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + pname = "gnome-breeze"; + version = "unstable-2016-05-26"; + + src = fetchFromGitHub { + owner = "dirruk1"; + repo = "gnome-breeze"; + rev = "49a5cd67a270e13a4c04a4b904f126ef728e9221"; + sha256 = "sha256-lQYVOhFBDOYT+glUHleuymGTfHEE5bIyqUFnS/EDc0I="; + }; + + installPhase = '' + mkdir -p $out/share/themes + cp -r Breeze* $out/share/themes + ''; + + preferLocalBuild = true; + + meta = with lib; { + description = "A GTK theme built to match KDE's breeze theme"; + homepage = "https://github.com/dirruk1/gnome-breeze"; + license = licenses.lgpl2; + maintainers = with maintainers; [ bennofs ]; + platforms = platforms.all; + hydraPlatforms = []; + }; +} diff --git a/pkgs/data/themes/graphite-gtk-theme/default.nix b/pkgs/data/themes/graphite-gtk-theme/default.nix new file mode 100644 index 00000000000..0c9bae8ac31 --- /dev/null +++ b/pkgs/data/themes/graphite-gtk-theme/default.nix @@ -0,0 +1,95 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +, gnome-themes-extra +, gtk-engine-murrine +, jdupes +, sassc +, themeVariants ? [] # default: blue +, colorVariants ? [] # default: all +, sizeVariants ? [] # default: standard +, tweaks ? [] +, wallpapers ? false +, withGrub ? false +, grubScreens ? [] # default: 1080p +}: + +let + pname = "graphite-gtk-theme"; + +in +lib.checkListOfEnum "${pname}: theme variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "blue" "all" ] themeVariants +lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants +lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants +lib.checkListOfEnum "${pname}: tweaks" [ "nord" "black" "midblack" "rimless" "normal" ] tweaks +lib.checkListOfEnum "${pname}: grub screens" [ "1080p" "2k" "4k" ] grubScreens + +stdenvNoCC.mkDerivation { + inherit pname; + version = "unstable-2022-02-04"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = "7ab6a1b7eda81e914405a9931408b1d5c73e6891"; + sha256 = "09xixd6cz2iyyyg6vskyk0wj2mahfsg21dlfcvi862h8w01hg9lr"; + }; + + nativeBuildInputs = [ + jdupes + sassc + ]; + + buildInputs = [ + gnome-themes-extra + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + + patchShebangs install.sh + + name= ./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 + + ${lib.optionalString wallpapers '' + mkdir -p $out/share/backgrounds + cp -a wallpaper/Graphite-normal/*.png $out/share/backgrounds/ + ${lib.optionalString (builtins.elem "nord" tweaks) '' + cp -a wallpaper/Graphite-nord/*.png $out/share/backgrounds/ + ''} + ''} + + ${lib.optionalString withGrub '' + ( + cd other/grub2 + + patchShebangs install.sh + + ./install.sh --justcopy --dest $out/share/grub/themes \ + ${lib.optionalString (builtins.elem "nord" tweaks) "--theme nord"} \ + ${lib.optionalString (grubScreens != []) "--screen " + builtins.toString grubScreens} + ) + ''} + + jdupes -L -r $out/share + + runHook postInstall + ''; + + meta = with lib; { + description = "Flat Gtk+ theme based on Elegant Design"; + homepage = "https://github.com/vinceliuice/Graphite-gtk-theme"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/graphite-kde-theme/default.nix b/pkgs/data/themes/graphite-kde-theme/default.nix new file mode 100644 index 00000000000..dd3a215a038 --- /dev/null +++ b/pkgs/data/themes/graphite-kde-theme/default.nix @@ -0,0 +1,41 @@ +{ stdenv +, lib +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "graphite-kde-theme"; + version = "2022-02-08"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "0pnn5s1vfdgkpsy5sc838731ly1imi8pbyd4asibw4zi238l0nvf"; + }; + + installPhase = '' + runHook preInstall + + patchShebangs install.sh + + substituteInPlace install.sh \ + --replace '$HOME/.local' $out \ + --replace '$HOME/.config' $out/share + + name= ./install.sh --dest $out/share/themes + + mkdir -p $out/share/sddm/themes + cp -a sddm/Graphite $out/share/sddm/themes/ + + runHook postInstall + ''; + + meta = with lib; { + description = "A flat Design theme for KDE Plasma desktop"; + homepage = "https://github.com/vinceliuice/Graphite-kde-theme"; + license = licenses.gpl3Only; + platforms = platforms.all; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/greybird/default.nix b/pkgs/data/themes/greybird/default.nix new file mode 100644 index 00000000000..06496ea9be1 --- /dev/null +++ b/pkgs/data/themes/greybird/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, sassc, gdk-pixbuf, librsvg, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "greybird"; + version = "3.22.15"; + + src = fetchFromGitHub { + owner = "shimmerproject"; + repo = pname; + rev = "v${version}"; + sha256 = "1fk66fxy2lif9ngazlgkpsziw216i4b1ld2zm97cadf7n97376g9"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + sassc + ]; + + buildInputs = [ + gdk-pixbuf + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + meta = with lib; { + description = "Grey and blue theme from the Shimmer Project for GTK-based environments"; + homepage = "https://github.com/shimmerproject/Greybird"; + license = [ licenses.gpl2Plus ]; # or alternatively: cc-by-nc-sa-30 or later + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/gruvbox-dark-gtk/default.nix b/pkgs/data/themes/gruvbox-dark-gtk/default.nix new file mode 100644 index 00000000000..28b55074afb --- /dev/null +++ b/pkgs/data/themes/gruvbox-dark-gtk/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "gruvbox-dark-gtk"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "jmattheis"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-C681o89MTGNp1l3DLQsRpH9HQdmdCXZzk0F0rNhcyL4="; + }; + + installPhase = '' + mkdir -p $out/share/themes/gruvbox-dark + rm -rf README.md LICENSE .github + cp -r * $out/share/themes/gruvbox-dark + ''; + + meta = with lib; { + description = "Gruvbox theme for GTK based desktop environments"; + homepage = "https://github.com/jmattheis/gruvbox-dark-gtk"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.nomisiv ]; + }; +} diff --git a/pkgs/data/themes/gtk-theme-framework/default.nix b/pkgs/data/themes/gtk-theme-framework/default.nix new file mode 100644 index 00000000000..99b9edfc3ac --- /dev/null +++ b/pkgs/data/themes/gtk-theme-framework/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, theme, lib }: + +stdenv.mkDerivation rec { + pname = "gtk-theme-framework"; + version = "0.2.3"; + + src = fetchFromGitHub { + owner = "jaxwilko"; + repo = pname; + rev = "v${version}"; + sha256 = "1z5s5rsgiypanf2z0avaisbflnvwrc8aiy5qskrsvbbaja63jy3s"; + }; + + postPatch = '' + substituteInPlace main.sh \ + --replace "#!/usr/bin/env bash" "#!/bin/sh" + + substituteInPlace scripts/install.sh \ + --replace "#!/usr/bin/env bash" "#!/bin/sh" + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/themes + ./main.sh -i -t ${theme} -d $out/share/themes + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/jaxwilko/gtk-theme-framework"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ flexagoon ]; + }; +} diff --git a/pkgs/data/themes/jade1/default.nix b/pkgs/data/themes/jade1/default.nix new file mode 100644 index 00000000000..42979c8c81b --- /dev/null +++ b/pkgs/data/themes/jade1/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchurl, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "theme-jade1"; + version = "1.14"; + + src = fetchurl { + url = "https://github.com/madmaxms/theme-jade-1/releases/download/v${version}/jade-1-theme.tar.xz"; + sha256 = "01p1g0gy6d1c8aa9y7inhn6zhm0qy0fzmwlniiv07h15g32appvd"; + }; + + sourceRoot = "."; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Jade* $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "Based on Linux Mint theme with dark menus and more intensive green"; + homepage = "https://github.com/madmaxms/theme-jade-1"; + license = with licenses; [ gpl3Only ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/juno/default.nix b/pkgs/data/themes/juno/default.nix new file mode 100644 index 00000000000..9e1580a6a14 --- /dev/null +++ b/pkgs/data/themes/juno/default.nix @@ -0,0 +1,45 @@ +{ lib, stdenv, fetchurl, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "juno"; + version = "0.0.1"; + + srcs = [ + (fetchurl { + url = "https://github.com/gvolpe/Juno/releases/download/${version}/Juno.tar.xz"; + sha256 = "1cghsn9qagcf1nlga5cal0aqch6hkjm5wk6ja791zxhdqy3crx1i"; + }) + (fetchurl { + url = "https://github.com/gvolpe/Juno/releases/download/${version}/Juno-mirage.tar.xz"; + sha256 = "0zh6bc85svmwh8qrhpn8mim0pj322x2x2i9sxnp7p1938p5z5m2b"; + }) + (fetchurl { + url = "https://github.com/gvolpe/Juno/releases/download/${version}/Juno-ocean.tar.xz"; + sha256 = "0m2wgmcn12dfq5badzlpzjc8792ba9hi32c79vfvqawdn1q3hrdx"; + }) + (fetchurl { + url = "https://github.com/gvolpe/Juno/releases/download/${version}/Juno-palenight.tar.xz"; + sha256 = "1hn2l0m76x61ixjd253hi7czm65asdjdhqvvlv7idbccc40pvrak"; + }) + ]; + + sourceRoot = "."; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Juno* $out/share/themes + rm $out/share/themes/*/{LICENSE,README.md} + runHook postInstall + ''; + + meta = with lib; { + description = "GTK themes inspired by epic vscode themes"; + homepage = "https://github.com/EliverLara/Juno"; + license = licenses.gpl3Only; + platforms = platforms.all; + maintainers = [ maintainers.gvolpe ]; + }; +} diff --git a/pkgs/data/themes/kde-gruvbox/default.nix b/pkgs/data/themes/kde-gruvbox/default.nix new file mode 100644 index 00000000000..e0f478a53cb --- /dev/null +++ b/pkgs/data/themes/kde-gruvbox/default.nix @@ -0,0 +1,32 @@ +{ stdenv, lib, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "kde-gruvbox"; + version = "unstable-2015-08-09"; + + src = fetchFromGitHub { + owner = "printesoi"; + repo = pname; + rev = "2dd95283076d7194345a460edb3630cfd020759c"; + sha256 = "sha256-ppAeEfwoHZg7XEj3zGc+uq4Z6hUgJNM2EjuDsc8pFQo="; + }; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/{plasma/desktoptheme,yakuake/kns_skins} + cp -R color-schemes konsole $out/share + cp -R plasma5/gruvbox $out/share/plasma/desktoptheme + cp -R yakuake/breeze-gruvbox-dark $out/share/yakuake/kns_skins + + runHook postInstall + ''; + + meta = with lib; { + description = "A suite of themes for KDE applications that match the retro gruvbox colorscheme"; + homepage = "https://github.com/printesoi/kde-gruvbox"; + license = licenses.mit; + maintainers = [ maintainers.ymarkus ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/themes/kde2/default.nix b/pkgs/data/themes/kde2/default.nix new file mode 100644 index 00000000000..1404a6ca86e --- /dev/null +++ b/pkgs/data/themes/kde2/default.nix @@ -0,0 +1,30 @@ +{ lib, fetchFromGitHub, mkDerivation +, cmake, extra-cmake-modules +, qtbase, kcoreaddons, kdecoration +}: + +mkDerivation rec { + pname = "kde2-decoration"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "repos-holder"; + repo = "kdecoration2-kde2"; + rev = version; + sha256 = "y2q1j36EURJc7k1huqhEH1Z82PnVSKlfx20bpQWY28c="; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + + buildInputs = [ qtbase kcoreaddons kdecoration ]; + + meta = with lib; { + description = "KDE 2 window decoration ported to Plasma 5"; + homepage = "https://github.com/repos-holder/kdecoration2-kde2"; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix b/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix new file mode 100644 index 00000000000..06b0e32d1b7 --- /dev/null +++ b/pkgs/data/themes/kwin-decorations/kde-rounded-corners/default.nix @@ -0,0 +1,38 @@ +{ stdenv +, fetchFromGitHub +, cmake +, extra-cmake-modules +, wrapQtAppsHook +, kwin +, kdelibs4support +, libepoxy +, libXdmcp +, lib +}: + +stdenv.mkDerivation rec { + pname = "kde-rounded-corners"; + version = "unstable-2021-11-06"; + + src = fetchFromGitHub { + owner = "matinlotfali"; + repo = "KDE-Rounded-Corners"; + rev = "8ad8f5f5eff9d1625abc57cb24dc484d51f0e1bd"; + sha256 = "0xbskf7jd03d2invfz1nnfc82klzvc784snw539n4kn6c6rc381p"; + }; + + postConfigure = '' + substituteInPlace cmake_install.cmake \ + --replace "${kdelibs4support}" "$out" + ''; + + nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ]; + buildInputs = [ kwin kdelibs4support libepoxy libXdmcp ]; + + meta = with lib; { + description = "Rounds the corners of your windows"; + homepage = "https://github.com/matinlotfali/KDE-Rounded-Corners"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ flexagoon ]; + }; +} diff --git a/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix b/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix new file mode 100644 index 00000000000..2f5230181d5 --- /dev/null +++ b/pkgs/data/themes/kwin-decorations/sierra-breeze-enhanced/default.nix @@ -0,0 +1,38 @@ +{ stdenv +, fetchFromGitHub +, cmake +, extra-cmake-modules +, wrapQtAppsHook +, kwin +, lib +}: + +stdenv.mkDerivation rec { + pname = "sierra-breeze-enhanced"; + version = "1.0.3"; + + src = fetchFromGitHub { + owner = "kupiqu"; + repo = "SierraBreezeEnhanced"; + rev = "V${version}"; + sha256 = "0kqbfn1jqsbii3hqcqlb93x8cg8dyh5mf66i9r237w41knks5mnw"; + }; + + nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ]; + buildInputs = [ kwin ]; + + cmakeFlags = [ + "-DCMAKE_INSTALL_PREFIX=$out" + "-DCMAKE_BUILD_TYPE=Release" + "-DBUILD_TESTING=OFF" + "-DKDE_INSTALL_USE_QT_SYS_PATHS=ON" + ]; + + meta = with lib; { + description = "OSX-like window decoration for KDE Plasma written in C++"; + homepage = "https://github.com/kupiqu/SierraBreezeEnhanced"; + changelog = "https://github.com/kupiqu/SierraBreezeEnhanced/releases/tag/V${version}"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ flexagoon ]; + }; +} diff --git a/pkgs/data/themes/layan-gtk-theme/default.nix b/pkgs/data/themes/layan-gtk-theme/default.nix new file mode 100644 index 00000000000..7892fbe9f31 --- /dev/null +++ b/pkgs/data/themes/layan-gtk-theme/default.nix @@ -0,0 +1,38 @@ +{ stdenv +, fetchFromGitHub +, lib +, gtk-engine-murrine +}: + +stdenv.mkDerivation rec { + pname = "layan-gtk-theme"; + version = "2021-06-30"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "sha256-FI8+AJlcPHGOzxN6HUKLtPGLe8JTfTQ9Az9NsvVUK7g="; + }; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + postPatch = '' + patchShebangs install.sh + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + unset name && ./install.sh -d $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "A flat Material Design theme for GTK 3, GTK 2 and Gnome-Shell."; + homepage = "https://github.com/vinceliuice/Layan-gtk-theme"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = [ maintainers.vanilla ]; + }; +} diff --git a/pkgs/data/themes/layan-kde/default.nix b/pkgs/data/themes/layan-kde/default.nix new file mode 100644 index 00000000000..40cd6c055bf --- /dev/null +++ b/pkgs/data/themes/layan-kde/default.nix @@ -0,0 +1,46 @@ +{ stdenv +, lib +, fetchFromGitHub +, gitUpdater +}: + +stdenv.mkDerivation rec { + pname = "layan-kde"; + version = "2022-02-13"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "09z90g13l26v23nwr8n5bapwldp3hhdrdikynvm4vvb7qsvb4vrp"; + }; + + postPatch = '' + patchShebangs install.sh + + substituteInPlace install.sh \ + --replace '$HOME/.local' $out \ + --replace '$HOME/.config' $out/share + ''; + + installPhase = '' + runHook preInstall + + name= ./install.sh --dest $out/share/themes + + mkdir -p $out/share/sddm/themes + cp -a sddm/Layan* $out/share/sddm/themes/ + + runHook postInstall + ''; + + passthru.updateScript = gitUpdater {inherit pname version; }; + + meta = with lib; { + description = "A flat Design theme for KDE Plasma desktop"; + homepage = "https://github.com/vinceliuice/Layan-kde"; + license = licenses.gpl3Only; + platforms = platforms.all; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/lightly-qt/default.nix b/pkgs/data/themes/lightly-qt/default.nix new file mode 100644 index 00000000000..7b653d95242 --- /dev/null +++ b/pkgs/data/themes/lightly-qt/default.nix @@ -0,0 +1,42 @@ +{ mkDerivation +, lib +, fetchFromGitHub +, cmake +, extra-cmake-modules +, kdecoration +, plasma-workspace +, qtbase +, qt5 +}: + +mkDerivation rec { + pname = "lightly-qt"; + version = "0.4.1"; + + src = fetchFromGitHub { + owner = "Luwx"; + repo = "Lightly"; + rev = "v${version}"; + sha256 = "0qkjzgjplgwczhk6959iah4ilvazpprv7yb809jy75kkp1jw8mwk"; + }; + + buildInputs = [ + kdecoration + plasma-workspace + qtbase + qt5.qtx11extras + ]; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + + meta = with lib; { + description = "A fork of breeze theme style that aims to be visually modern and minimalistic"; + homepage = "https://github.com/Luwx/Lightly"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.pwoelfel ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/themes/lounge/default.nix b/pkgs/data/themes/lounge/default.nix new file mode 100644 index 00000000000..ab945f51053 --- /dev/null +++ b/pkgs/data/themes/lounge/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gtk3, gnome, gdk-pixbuf, librsvg, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "lounge-gtk-theme"; + version = "1.24"; + + src = fetchFromGitHub { + owner = "monday15"; + repo = pname; + rev = version; + sha256 = "0ima0aa5j296xn4y0d1zj6vcdrdpnihqdidj7bncxzgbnli1vazs"; + }; + + nativeBuildInputs = [ meson ninja sassc gtk3 ]; + + buildInputs = [ gdk-pixbuf librsvg ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + mesonFlags = [ + "-D gnome_version=${lib.versions.majorMinor gnome.gnome-shell.version}" + ]; + + postFixup = '' + gtk-update-icon-cache "$out"/share/icons/Lounge-aux; + ''; + + meta = with lib; { + description = "Simple and clean GTK theme with vintage scrollbars, inspired by Absolute, based on Adwaita"; + homepage = "https://github.com/monday15/lounge-gtk-theme"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/marwaita-manjaro/default.nix b/pkgs/data/themes/marwaita-manjaro/default.nix new file mode 100644 index 00000000000..5cbf4c19208 --- /dev/null +++ b/pkgs/data/themes/marwaita-manjaro/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gtk-engine-murrine +, gtk_engines +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "marwaita-manjaro"; + version = "10.3"; + + src = fetchFromGitHub { + owner = "darkomarko42"; + repo = pname; + rev = version; + sha256 = "0qihxipk7ya6n3p9kg20bk6plnb85pg3ahwd02qq4bqfiw6mx3gw"; + }; + + buildInputs = [ + gdk-pixbuf + gtk_engines + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Marwaita* $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "Manjaro Style (green version) of Marwaita GTK theme"; + homepage = "https://www.pling.com/p/1351213/"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/marwaita-peppermint/default.nix b/pkgs/data/themes/marwaita-peppermint/default.nix new file mode 100644 index 00000000000..6873cd31f8d --- /dev/null +++ b/pkgs/data/themes/marwaita-peppermint/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gtk-engine-murrine +, gtk_engines +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "marwaita-peppermint"; + version = "10.3"; + + src = fetchFromGitHub { + owner = "darkomarko42"; + repo = pname; + rev = version; + sha256 = "09lqp82aymj3silpwmjkkf4mgv3b1xw7181ck89lz2nxb98sr9im"; + }; + + buildInputs = [ + gdk-pixbuf + gtk_engines + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Marwaita* $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "Marwaita GTK theme with Peppermint Os Linux style"; + homepage = "https://www.pling.com/p/1399569/"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/marwaita-pop_os/default.nix b/pkgs/data/themes/marwaita-pop_os/default.nix new file mode 100644 index 00000000000..ca35460eff1 --- /dev/null +++ b/pkgs/data/themes/marwaita-pop_os/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gtk-engine-murrine +, gtk_engines +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "marwaita-pop_os"; + version = "10.3"; + + src = fetchFromGitHub { + owner = "darkomarko42"; + repo = pname; + rev = version; + sha256 = "1j6d91kx6iw8sy35rhhjvwb3qz60bvf7a7g7q2i0sznzdicrwsq6"; + }; + + buildInputs = [ + gdk-pixbuf + gtk_engines + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Marwaita* $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "Marwaita GTK theme with Pop_os Linux style"; + homepage = "https://www.pling.com/p/1377894/"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/marwaita-ubuntu/default.nix b/pkgs/data/themes/marwaita-ubuntu/default.nix new file mode 100644 index 00000000000..f98e112678c --- /dev/null +++ b/pkgs/data/themes/marwaita-ubuntu/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gtk-engine-murrine +, gtk_engines +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "marwaita-ubuntu"; + version = "1.7"; + + src = fetchFromGitHub { + owner = "darkomarko42"; + repo = pname; + rev = version; + sha256 = "024b0817jilvi5ilq9sbwg19ql5i2x3jfgc1awk7zzv6sqii639x"; + }; + + buildInputs = [ + gdk-pixbuf + gtk_engines + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Marwaita* $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "Ubuntu Style of Marwaita GTK theme"; + homepage = "https://www.pling.com/p/1352833/"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/marwaita/default.nix b/pkgs/data/themes/marwaita/default.nix new file mode 100644 index 00000000000..1e9f9041ca1 --- /dev/null +++ b/pkgs/data/themes/marwaita/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gtk-engine-murrine +, gtk_engines +, librsvg +, gitUpdater +}: + +stdenv.mkDerivation rec { + pname = "marwaita"; + version = "13.0"; + + src = fetchFromGitHub { + owner = "darkomarko42"; + repo = pname; + rev = version; + sha256 = "sha256-aP/zPM7M8Oru/2AA8w6rKU/AVJJ0bAEC01C60yi2SbM="; + }; + + buildInputs = [ + gdk-pixbuf + gtk_engines + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Marwaita* $out/share/themes + runHook postInstall + ''; + + passthru.updateScript = gitUpdater {inherit pname version; }; + + meta = with lib; { + description = "GTK theme supporting Budgie, Pantheon, Mate, Xfce4 and GNOME desktops"; + homepage = "https://www.pling.com/p/1239855/"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix new file mode 100644 index 00000000000..4d59a03313a --- /dev/null +++ b/pkgs/data/themes/matcha/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "matcha-gtk-theme"; + version = "2021-12-25"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "1wgq1aypm4cjv7yavlfmqcwahlddvh2gbg2f5ca0djgnpy9vha1g"; + }; + + buildInputs = [ gdk-pixbuf librsvg ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + runHook preInstall + patchShebangs . + mkdir -p $out/share/themes + name= ./install.sh -d $out/share/themes + install -D -t $out/share/gtksourceview-3.0/styles src/extra/gedit/matcha.xml + mkdir -p $out/share/doc/${pname} + cp -a src/extra/firefox $out/share/doc/${pname} + runHook postInstall + ''; + + meta = with lib; { + description = "A stylish flat design theme for GTK based desktop environments"; + homepage = "https://vinceliuice.github.io/theme-matcha"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/materia-kde/default.nix b/pkgs/data/themes/materia-kde/default.nix new file mode 100644 index 00000000000..a50cadb0676 --- /dev/null +++ b/pkgs/data/themes/materia-kde/default.nix @@ -0,0 +1,23 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "materia-kde-theme"; + version = "20210814"; + + src = fetchFromGitHub { + owner = "PapirusDevelopmentTeam"; + repo = "materia-kde"; + rev = version; + sha256 = "KfC1nB5WUcYixqSy5XCP+6Uqhs07Y3p2F1H+5HB8wAg="; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + description = "A port of the materia theme for Plasma"; + homepage = "https://github.com/PapirusDevelopmentTeam/materia-kde"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.diffumist ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/data/themes/materia-theme/default.nix b/pkgs/data/themes/materia-theme/default.nix new file mode 100644 index 00000000000..da79f68638b --- /dev/null +++ b/pkgs/data/themes/materia-theme/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, ninja +, sassc +, gnome +, gtk-engine-murrine +, gdk-pixbuf +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "materia-theme"; + version = "20210322"; + + src = fetchFromGitHub { + owner = "nana-4"; + repo = pname; + rev = "v${version}"; + sha256 = "1fsicmcni70jkl4jb3fvh7yv0v9jhb8nwjzdq8vfwn256qyk0xvl"; + }; + + nativeBuildInputs = [ meson ninja sassc ]; + + buildInputs = [ gnome.gnome-themes-extra gdk-pixbuf librsvg ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + dontBuild = true; + + mesonFlags = [ + "-Dgnome_shell_version=${lib.versions.majorMinor gnome.gnome-shell.version}" + ]; + + postInstall = '' + rm $out/share/themes/*/COPYING + ''; + + meta = with lib; { + description = "Material Design theme for GNOME/GTK based desktop environments"; + homepage = "https://github.com/nana-4/materia-theme"; + license = licenses.gpl2Only; + platforms = platforms.all; + maintainers = [ maintainers.mounium ]; + }; +} diff --git a/pkgs/data/themes/material-kwin-decoration/default.nix b/pkgs/data/themes/material-kwin-decoration/default.nix new file mode 100644 index 00000000000..3716fb79368 --- /dev/null +++ b/pkgs/data/themes/material-kwin-decoration/default.nix @@ -0,0 +1,53 @@ +{ lib +, mkDerivation +, fetchFromGitHub +, cmake +, extra-cmake-modules +, qtx11extras +, kcoreaddons +, kguiaddons +, kconfig +, kdecoration +, kconfigwidgets +, kwindowsystem +, kiconthemes +, kwayland +}: + +mkDerivation rec { + pname = "material-kwin-decoration"; + version = "unstable-2021-10-28"; + + src = fetchFromGitHub { + owner = "Zren"; + repo = "material-decoration"; + rev = "cc5cc399a546b66907629b28c339693423c894c8"; + sha256 = "sha256-aYlnPFhf+ISVe5Ycryu5BSXY8Lb5OoueMqnWQZiv6Lc="; + }; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace "-Werror" "" + ''; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + + buildInputs = [ + qtx11extras + kcoreaddons + kguiaddons + kdecoration + kconfig + kconfigwidgets + kwindowsystem + kiconthemes + kwayland + ]; + + meta = with lib; { + description = "Material-ish window decoration theme for KWin"; + homepage = "https://github.com/Zren/material-decoration"; + license = licenses.gpl2; + maintainers = [ maintainers.nickcao ]; + }; +} diff --git a/pkgs/data/themes/mojave/default.nix b/pkgs/data/themes/mojave/default.nix new file mode 100644 index 00000000000..56d7dfcf375 --- /dev/null +++ b/pkgs/data/themes/mojave/default.nix @@ -0,0 +1,124 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchurl +, glib +, gtk-engine-murrine +, gtk_engines +, inkscape +, jdupes +, optipng +, sassc +, which +, buttonSizeVariants ? [] # default to standard +, buttonVariants ? [] # default to all +, colorVariants ? [] # default to all +, opacityVariants ? [] # default to all +, themeVariants ? [] # default to MacOS blue +, wallpapers ? false +}: + +let + pname = "mojave-gtk-theme"; +in +lib.checkListOfEnum "${pname}: button size variants" [ "standard" "small" ] buttonSizeVariants +lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants +lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants +lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants +lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants + +stdenv.mkDerivation rec { + inherit pname; + version = "unstable-2021-12-20"; + + srcs = [ + (fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = "c148646ccab382f7a2d5fdc421fc32d843cb4172"; + sha256 = "sha256-h4MSSh8cu9M81bM+WJSyl1SQ7CVth1DvjIVOUJXqpxs"; + }) + ] + ++ + lib.optional wallpapers + (fetchurl { + url = "https://github.com/vinceliuice/Mojave-gtk-theme/raw/11741a99d96953daf9c27e44c94ae50a7247c0ed/macOS_Mojave_Wallpapers.tar.xz"; + sha256 = "18zzkwm1kqzsdaj8swf0xby1n65gxnyslpw4lnxcx1rphip0rwf7"; + }) + ; + + sourceRoot = "source"; + + nativeBuildInputs = [ + glib + inkscape + jdupes + optipng + sassc + which + ]; + + buildInputs = [ + gtk_engines + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + # These fixup steps are slow and unnecessary. + dontPatchELF = true; + dontRewriteSymlinks = true; + + postPatch = '' + patchShebangs . + + for f in \ + render-assets.sh \ + src/assets/cinnamon/thumbnails/render-thumbnails.sh \ + src/assets/gtk-2.0/render-assets.sh \ + src/assets/gtk/common-assets/render-assets.sh \ + src/assets/gtk/thumbnails/render-thumbnails.sh \ + src/assets/gtk/windows-assets/render-alt-assets.sh \ + src/assets/gtk/windows-assets/render-alt-small-assets.sh \ + src/assets/gtk/windows-assets/render-assets.sh \ + src/assets/gtk/windows-assets/render-small-assets.sh \ + src/assets/metacity-1/render-assets.sh \ + src/assets/xfwm4/render-assets.sh + do + substituteInPlace $f \ + --replace /usr/bin/inkscape ${inkscape}/bin/inkscape \ + --replace /usr/bin/optipng ${optipng}/bin/optipng + done + ''; + + installPhase = '' + runHook preInstall + + name= ./install.sh \ + ${lib.optionalString (buttonSizeVariants != []) "--small " + builtins.toString buttonSizeVariants} \ + ${lib.optionalString (buttonVariants != []) "--alt " + builtins.toString buttonVariants} \ + ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (opacityVariants != []) "--opacity " + builtins.toString opacityVariants} \ + ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ + --dest $out/share/themes + + ${lib.optionalString wallpapers '' + install -D -t $out/share/wallpapers ../"macOS Mojave Wallpapers"/* + ''} + + # Replace duplicate files with hardlinks to the first file in each + # set of duplicates, reducing the installed size in about 53% + jdupes -L -r $out/share + + runHook postInstall + ''; + + meta = with lib; { + description = "Mac OSX Mojave like theme for GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/Mojave-gtk-theme"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/nordic/default.nix b/pkgs/data/themes/nordic/default.nix new file mode 100644 index 00000000000..d250de15ca9 --- /dev/null +++ b/pkgs/data/themes/nordic/default.nix @@ -0,0 +1,125 @@ +{ lib +, stdenv +, fetchFromGitHub +, gtk-engine-murrine +, jdupes +}: + +stdenv.mkDerivation rec { + pname = "nordic"; + version = "unstable-2022-02-26"; + + srcs = [ + (fetchFromGitHub { + owner = "EliverLara"; + repo = pname; + rev = "0da58e462e8ba6c71245d13fbddac950b72018ae"; + sha256 = "sha256-w7e3DqQV4L/OvntKHJA4+3Dj6dRnlH73SxvW770QIyU="; + name = "Nordic"; + }) + + (fetchFromGitHub { + owner = "EliverLara"; + repo = pname; + rev = "9daf11acf3419e2f23d0993ce862a1c944fb8519"; + sha256 = "sha256-zGgw6THLX7q19BDsllPUrWqQcL6FYAewcyqjQdXzLzg="; + name = "Nordic-standard-buttons"; + }) + + (fetchFromGitHub { + owner = "EliverLara"; + repo = pname; + rev = "a40819bd00160f987cdf254ce8c34eabebecf0eb"; + sha256 = "sha256-rSNLdxTfvzTFzI5723WIGRS+NZ8iqUOUliDpkznZrwE="; + name = "Nordic-darker"; + }) + + (fetchFromGitHub { + owner = "EliverLara"; + repo = pname; + rev = "4e69cf6e1798938ab7c5795940c663d866ce8201"; + sha256 = "sha256-p8VaKeKxEiYX4oVqWoyschAq0j/LvPq9yD/awaHKRZw="; + name = "Nordic-darker-standard-buttons"; + }) + + (fetchFromGitHub { + owner = "EliverLara"; + repo = pname; + rev = "866629583187b914725f05683125fde7f6c280f1"; + sha256 = "sha256-TQ4G5W87zpTrLU+f+eb5VHwaWuKSbItXCgXSL33U8As="; + name = "Nordic-bluish-accent"; + }) + + (fetchFromGitHub { + owner = "EliverLara"; + repo = pname; + rev = "f3702ae02e3caaf74eab0ef9156af9f2a476021b"; + sha256 = "sha256-drXRfZxCrH2vAXjZSAjWEHcQrehxnM0WLkgbh+cFJhI="; + name = "Nordic-bluish-accent-standard-buttons"; + }) + + (fetchFromGitHub { + owner = "EliverLara"; + repo = "${pname}-polar"; + rev = "4cf3e5c30ebd17a3d53ab0337c191e304feff7b5"; + sha256 = "sha256-LTCJ7AyABQDTDkjuqcXaKXePFwOpmXeKaW2mWYah4ao="; + name = "Nordic-Polar"; + }) + + (fetchFromGitHub { + owner = "EliverLara"; + repo = "${pname}-polar"; + rev = "72cbd567212b21ea20769fe244c148f799435536"; + sha256 = "sha256-qNIyr+Eo0dzPVh9PxDCHv0e6pswACbf9nLhAG75YEYc="; + name = "Nordic-Polar-standard-buttons"; + }) + ]; + + sourceRoot = "."; + + nativeBuildInputs = [ jdupes ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/themes + cp -a Nordic* $out/share/themes + rm -r $out/share/themes/*/.gitignore + rm -r $out/share/themes/*/Art + rm -r $out/share/themes/*/LICENSE + rm -r $out/share/themes/*/README.md + rm -r $out/share/themes/*/{package.json,package-lock.json,Gulpfile.js} + rm -r $out/share/themes/*/src + rm -r $out/share/themes/*/cinnamon/*.scss + rm -r $out/share/themes/*/gnome-shell/{extensions,*.scss} + rm -r $out/share/themes/*/gtk-2.0/{assets.svg,assets.txt,links.fish,render-assets.sh} + rm -r $out/share/themes/*/gtk-3.0/{apps,widgets,*.scss} + rm -r $out/share/themes/*/xfwm4/{assets,render_assets.fish} + + # move kde related contents to appropriate directories + mkdir -p $out/share/{aurorae/themes,color-schemes,Kvantum,plasma,sddm/themes/Nordic} + mv -v $out/share/themes/Nordic/kde/aurorae/* $out/share/aurorae/themes/ + mv -v $out/share/themes/Nordic/kde/colorschemes/* $out/share/color-schemes/ + mv -v $out/share/themes/Nordic/kde/konsole $out/share/ + mv -v $out/share/themes/Nordic/kde/kvantum/* $out/share/Kvantum/ + mv -v $out/share/themes/Nordic/kde/plasma/look-and-feel $out/share/plasma/ + mv -v $out/share/themes/Nordic/kde/sddm/* $out/share/sddm/themes/Nordic/ + rm -rf $out/share/themes/Nordic/kde + + # Replace duplicate files with hardlinks to the first file in each + # set of duplicates, reducing the installed size in about 65% + jdupes -L -r $out/share + + runHook postInstall + ''; + + meta = with lib; { + description = "Gtk and KDE themes using the Nord color pallete"; + homepage = "https://github.com/EliverLara/Nordic"; + license = licenses.gpl3Only; + platforms = platforms.all; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/numix-solarized/default.nix b/pkgs/data/themes/numix-solarized/default.nix new file mode 100644 index 00000000000..efc8236c451 --- /dev/null +++ b/pkgs/data/themes/numix-solarized/default.nix @@ -0,0 +1,47 @@ +{ lib, stdenv, fetchFromGitHub, python3, sassc, glib, gdk-pixbuf, inkscape, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "numix-solarized-gtk-theme"; + version = "20210831"; + + src = fetchFromGitHub { + owner = "Ferdi265"; + repo = pname; + rev = version; + sha256 = "1q8qhpw0hfv625sm626zp4vbz2106b0g5m11ygk87s6kbxrfg6lr"; + }; + + nativeBuildInputs = [ python3 sassc glib gdk-pixbuf inkscape ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + postPatch = '' + patchShebangs . + substituteInPlace Makefile --replace '$(DESTDIR)'/usr $out + ''; + + buildPhase = "true"; + + installPhase = '' + runHook preInstall + for theme in colors/*.colors; do + theme="''${theme##*/}" + make THEME="''${theme/.colors/}" install + done + runHook postInstall + ''; + + meta = with lib; { + description = "Solarized versions of Numix GTK2 and GTK3 theme"; + longDescription = '' + This is a fork of the Numix GTK theme that replaces the colors of the theme + and icons to use the solarized theme with a solarized green accent color. + This theme supports both the dark and light theme, just as Numix proper. + ''; + homepage = "https://github.com/Ferdi265/numix-solarized-gtk-theme"; + downloadPage = "https://github.com/Ferdi265/numix-solarized-gtk-theme/releases"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = [ maintainers.offline ]; + }; +} diff --git a/pkgs/data/themes/numix-sx/default.nix b/pkgs/data/themes/numix-sx/default.nix new file mode 100644 index 00000000000..ee887cbadee --- /dev/null +++ b/pkgs/data/themes/numix-sx/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchurl, gtk-engine-murrine }: + +stdenv.mkDerivation { + version = "2017-04-24"; + pname = "numix-sx-gtk-theme"; + + src = fetchurl { + url = "https://dl.opendesktop.org/api/files/download/id/1493077417/Numix-SX.tar.xz"; + sha256 = "7e1983924b2d90e89eddb3da8f4c43dc1326fe138fd191c8212c7904dcd618b0"; + }; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + dontBuild = true; + + sourceRoot = "."; + + installPhase = '' + install -dm 755 "$out/share/themes/" + cp -dr --no-preserve='ownership' Numix-SX-{Dark,FullDark,Light} "$out/share/themes/" + ''; + + meta = { + description = "Gray variation of Numix theme"; + homepage = "https://www.gnome-look.org/p/1117412/"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.sauyon ]; + }; +} diff --git a/pkgs/data/themes/numix/default.nix b/pkgs/data/themes/numix/default.nix new file mode 100644 index 00000000000..23f491d4a9a --- /dev/null +++ b/pkgs/data/themes/numix/default.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitHub, sass, glib, libxml2, gdk-pixbuf +, gtk-engine-murrine +}: + +stdenv.mkDerivation rec { + version = "2.6.7"; + pname = "numix-gtk-theme"; + + src = fetchFromGitHub { + repo = "numix-gtk-theme"; + owner = "numixproject"; + rev = version; + sha256 = "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7"; + }; + + nativeBuildInputs = [ sass glib libxml2 gdk-pixbuf ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + postPatch = '' + substituteInPlace Makefile --replace '$(DESTDIR)'/usr $out + patchShebangs . + ''; + + meta = { + description = "Modern flat theme with a combination of light and dark elements (GNOME, Unity, Xfce and Openbox)"; + homepage = "https://numixproject.github.io"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.all; + maintainers = [ lib.maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/obsidian2/default.nix b/pkgs/data/themes/obsidian2/default.nix new file mode 100644 index 00000000000..251dde481fd --- /dev/null +++ b/pkgs/data/themes/obsidian2/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchurl, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "theme-obsidian2"; + version = "2.20"; + + src = fetchurl { + url = "https://github.com/madmaxms/theme-obsidian-2/releases/download/v${version}/obsidian-2-theme.tar.xz"; + sha256 = "0bbw8far4fjz7fiy205wnzp9ibnvqspfcjkinhjj8l0s272h7wjp"; + }; + + sourceRoot = "."; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Obsidian-2* $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "Gnome theme, based upon Adwaita-Maia dark skin"; + homepage = "https://github.com/madmaxms/theme-obsidian-2"; + license = with licenses; [ gpl3Only ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/onestepback/default.nix b/pkgs/data/themes/onestepback/default.nix new file mode 100644 index 00000000000..9547e354389 --- /dev/null +++ b/pkgs/data/themes/onestepback/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + pname = "onestepback"; + version = "0.991"; + + srcs = [ + (fetchurl { + url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-v${version}.zip"; + sha256 = "1jfgcgzbb6ra9qs3zcp6ij0hfldzg3m0yjw6l6vf4kq1mdby1ghm"; + }) + (fetchurl { + url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-grey-brown-green-blue-v${version}.zip"; + sha256 = "0i006h1asbpfdzajws0dvk9acplvcympzgxq5v3n8hmizd6yyh77"; + }) + (fetchurl { + url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-green-brown-v${version}.zip"; + sha256 = "16p002lak6425gcskny4hzws8x9dgsm6j3a1r08y11rsz7d2hnmy"; + }) + ]; + + nativeBuildInputs = [ unzip ]; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/share/themes + cp -a OneStepBack* $out/share/themes/ + rm $out/share/themes/*/{LICENSE,README*} + ''; + + meta = with lib; { + description = "Gtk theme inspired by the NextStep look"; + homepage = "http://www.vide.memoire.free.fr/perso/OneStepBack"; + license = licenses.gpl3; + platforms = platforms.all; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/openzone/default.nix b/pkgs/data/themes/openzone/default.nix new file mode 100644 index 00000000000..e7748612fef --- /dev/null +++ b/pkgs/data/themes/openzone/default.nix @@ -0,0 +1,24 @@ +{ lib, stdenv, fetchFromGitHub, icon-slicer, xcursorgen }: +stdenv.mkDerivation rec { + pname = "openzone-cursors"; + version = "1.2.9"; + + src = fetchFromGitHub { + owner = "ducakar"; + repo = pname; + rev = "v${version}"; + sha256 = "02c536mc17ccsrzgma366k3wlm02ivklvr30fafxl981zgghlii4"; + }; + + nativeBuildInputs = [ icon-slicer xcursorgen ]; + + makeFlags = [ "DESTDIR=$(out)" ]; + + meta = with lib; { + description = "Clean and sharp X11/Wayland cursor theme"; + homepage = "https://www.gnome-look.org/p/999999/"; + license = licenses.mit; + maintainers = with maintainers; [ zaninime ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/data/themes/orchis-theme/default.nix b/pkgs/data/themes/orchis-theme/default.nix new file mode 100644 index 00000000000..ccaee7f6552 --- /dev/null +++ b/pkgs/data/themes/orchis-theme/default.nix @@ -0,0 +1,60 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +, gtk3 +, gnome-themes-extra +, gtk-engine-murrine +, sassc +, tweaks ? [ ] # can be "solid" "compact" "black" "primary" +, withWallpapers ? false +}: + +let + validTweaks = [ "solid" "compact" "black" "primary" ]; + unknownTweaks = lib.subtractLists validTweaks tweaks; +in +assert lib.assertMsg (unknownTweaks == [ ]) '' + You entered wrong tweaks: ${toString unknownTweaks} + Valid tweaks are: ${toString validTweaks} +''; + +stdenvNoCC.mkDerivation +rec { + pname = "orchis-theme"; + version = "2022-02-18"; + + src = fetchFromGitHub { + repo = "Orchis-theme"; + owner = "vinceliuice"; + rev = version; + sha256 = "sha256-SqptW8DEDCB6LMHalRlf71TWK93gW+blbu6Q1Oommes="; + }; + + nativeBuildInputs = [ gtk3 sassc ]; + + buildInputs = [ gnome-themes-extra ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + preInstall = '' + mkdir -p $out/share/themes + ''; + + installPhase = '' + runHook preInstall + bash install.sh -d $out/share/themes -t all ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} + ${lib.optionalString withWallpapers '' + mkdir -p $out/share/backgrounds + cp src/wallpaper/{1080p,2k,4k}.jpg $out/share/backgrounds + ''} + runHook postInstall + ''; + + meta = with lib; { + description = "A Material Design theme for GNOME/GTK based desktop environments."; + homepage = "https://github.com/vinceliuice/Orchis-theme"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = [ maintainers.fufexan ]; + }; +} diff --git a/pkgs/data/themes/orion/default.nix b/pkgs/data/themes/orion/default.nix new file mode 100644 index 00000000000..93ea3633fb5 --- /dev/null +++ b/pkgs/data/themes/orion/default.nix @@ -0,0 +1,26 @@ +{ lib, stdenv, fetchFromGitHub, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "orion"; + version = "1.5"; + + src = fetchFromGitHub { + owner = "shimmerproject"; + repo = "Orion"; + rev = "refs/tags/v${version}"; + sha256 = "1116yawv3fspkiq1ykk2wj0gza3l04b5nhldy0bayzjaj0y6fd89"; + }; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + mkdir -p $out/share/themes/orion + cp -r gtk-2.0 gtk-3.0 metacity-1 openbox-3 xfwm4 $out/share/themes/orion + ''; + + meta = { + homepage = "https://github.com/shimmerproject/Orion"; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/data/themes/paper-gtk/default.nix b/pkgs/data/themes/paper-gtk/default.nix new file mode 100644 index 00000000000..e7c9179678f --- /dev/null +++ b/pkgs/data/themes/paper-gtk/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, autoreconfHook, gtk_engines }: + +stdenv.mkDerivation { + version = "2016-08-16"; + pname = "paper-gtk-theme"; + + src = fetchFromGitHub { + owner = "snwh"; + repo = "paper-gtk-theme"; + rev = "f75724fd76fd2e5681a367cca246a51f845320c3"; + sha256 = "0dqllzjk9ggnbh8vvy2c81p3wq6cj73r30hk7gqhrn8i91w8p896"; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + buildInputs = [ gtk_engines ]; + + postPatch = '' + substituteInPlace Makefile.am --replace '$(DESTDIR)'/usr $out + ''; + + preferLocalBuild = true; + + meta = with lib; { + description = "A modern desktop theme suite featuring a mostly flat with a minimal use of shadows for depth"; + homepage = "https://snwh.org/paper"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.simonvandel maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/pitch-black/default.nix b/pkgs/data/themes/pitch-black/default.nix new file mode 100644 index 00000000000..95037f90239 --- /dev/null +++ b/pkgs/data/themes/pitch-black/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenvNoCC, fetchFromGitHub }: + +stdenvNoCC.mkDerivation rec{ + pname = "pitch-black"; + version = "unstable-2019-07-23"; + + src = fetchFromGitHub { + repo = pname; + owner = "freefreeno"; + rev = "d8039341419aef1157c030bf3d9237bd926e0b95"; + hash = "sha256-Rn3ZMBD6srIkYFNN3HT5JFP46Akodmeqz5tbV2/2ZDA="; + }; + + dontBuild = true; + + installPhase = '' + rm LICENSE README.md + mkdir -p $out/share + mv GTK $out/share/themes + mv * $out/share + ''; + + meta = with lib; { + description = "A dark plasma theme built with usability in mind"; + homepage = "https://github.com/freefreeno/Pitch-Black"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.pasqui23 ]; + }; +} diff --git a/pkgs/data/themes/plano/default.nix b/pkgs/data/themes/plano/default.nix new file mode 100644 index 00000000000..c321dc235c4 --- /dev/null +++ b/pkgs/data/themes/plano/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv +, fetchFromGitHub +, meson +, ninja +, gdk-pixbuf +, gtk_engines +, gtk-engine-murrine +, librsvg +, sassc +}: + +stdenv.mkDerivation rec { + pname = "plano-theme"; + version = "4.0"; + + src = fetchFromGitHub { + owner = "lassekongo83"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-slGr2nsdKng6zaVDeXWFAWKIxZbcnOLU6RH6wM0293E="; + }; + + nativeBuildInputs = [ + meson + ninja + sassc + ]; + + buildInputs = [ + gdk-pixbuf + gtk_engines + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + meta = with lib; { + description = "Flat theme for GNOME and Xfce"; + homepage = "https://github.com/lassekongo83/plano-theme"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix new file mode 100644 index 00000000000..0e7d88a7883 --- /dev/null +++ b/pkgs/data/themes/plata/default.nix @@ -0,0 +1,88 @@ +{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, parallel +, sassc, inkscape, libxml2, glib, gtk_engines, gtk-engine-murrine +, cinnamonSupport ? true +, gnomeFlashbackSupport ? true +, gnomeShellSupport ? true +, openboxSupport ? true +, xfceSupport ? true +, mateSupport ? true, gtk3, marco +, gtkNextSupport ? false +, plankSupport ? false +, steamSupport ? false +, telegramSupport ? false, zip +, tweetdeckSupport ? false +, selectionColor ? null # Primary color for 'selected-items' (Default: #3F51B5 = Indigo500) +, accentColor ? null # Secondary color for notifications and OSDs (Default: #7986CB = Indigo300) +, suggestionColor ? null # Secondary color for 'suggested' buttons (Default: #673AB7 = DPurple500) +, destructionColor ? null # Tertiary color for 'destructive' buttons (Default: #F44336 = Red500) +}: + +stdenv.mkDerivation rec { + pname = "plata-theme"; + version = "0.9.9"; + + src = fetchFromGitLab { + owner = "tista500"; + repo = "plata-theme"; + rev = version; + sha256 = "1iwvlv9qcrjyfbzab00vjqafmp3vdybz1hi02r6lwbgvwyfyrifk"; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + parallel + sassc + inkscape + libxml2 + glib + ] + ++ lib.optionals mateSupport [ gtk3 marco ] + ++ lib.optional telegramSupport zip; + + buildInputs = [ gtk_engines ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + postPatch = "patchShebangs ."; + + configureFlags = + let + inherit (lib) enableFeature optional; + withOptional = value: feat: optional (value != null) "--with-${feat}=${value}"; + in [ + "--enable-parallel" + (enableFeature cinnamonSupport "cinnamon") + (enableFeature gnomeFlashbackSupport "flashback") + (enableFeature gnomeShellSupport "gnome") + (enableFeature openboxSupport "openbox") + (enableFeature xfceSupport "xfce") + (enableFeature mateSupport "mate") + (enableFeature gtkNextSupport "gtk_next") + (enableFeature plankSupport "plank") + (enableFeature steamSupport "airforsteam") + (enableFeature telegramSupport "telegram") + (enableFeature tweetdeckSupport "tweetdeck") + ] + ++ (withOptional selectionColor "selection_color") + ++ (withOptional accentColor "accent_color") + ++ (withOptional suggestionColor "suggestion_color") + ++ (withOptional destructionColor "destruction_color"); + + postInstall = '' + for dest in $out/share/gtksourceview-{3.0,4}/styles; do + mkdir -p $dest + cp $out/share/themes/Plata-{Noir,Lumine}/gtksourceview/*.xml $dest + done + ''; + + meta = with lib; { + description = "A GTK theme based on Material Design Refresh"; + homepage = "https://gitlab.com/tista500/plata-theme"; + license = with licenses; [ gpl2 cc-by-sa-40 ]; + platforms = platforms.linux; + maintainers = [ maintainers.tadfisher ]; + }; +} diff --git a/pkgs/data/themes/pop-gtk/default.nix b/pkgs/data/themes/pop-gtk/default.nix new file mode 100644 index 00000000000..022e1dd81b2 --- /dev/null +++ b/pkgs/data/themes/pop-gtk/default.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, ninja +, sassc +, gtk3 +, inkscape +, optipng +, gtk-engine-murrine +, gdk-pixbuf +, librsvg +, python3 +}: + +stdenv.mkDerivation rec { + pname = "pop-gtk-theme"; + version = "2021-08-19"; + + src = fetchFromGitHub { + owner = "pop-os"; + repo = "gtk-theme"; + rev = "6615e4510485c5dc0b379746acc40f538d987c86"; + sha256 = "16h03x2m4j4hfwp7pdmw1navcy5q7di38jvigfgf263wajyxbznr"; + }; + + nativeBuildInputs = [ + meson + ninja + sassc + gtk3 + inkscape + optipng + python3 + ]; + + buildInputs = [ + gdk-pixbuf + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + postPatch = '' + patchShebangs . + + for file in $(find -name render-\*.sh); do + substituteInPlace "$file" \ + --replace 'INKSCAPE="/usr/bin/inkscape"' \ + 'INKSCAPE="${inkscape}/bin/inkscape"' \ + --replace 'OPTIPNG="/usr/bin/optipng"' \ + 'OPTIPNG="${optipng}/bin/optipng"' + done + ''; + + meta = with lib; { + description = "System76 Pop GTK+ Theme"; + homepage = "https://github.com/pop-os/gtk-theme"; + license = with licenses; [ gpl3 lgpl21 cc-by-sa-40 ]; + platforms = platforms.linux; + maintainers = with maintainers; [ elyhaka ]; + }; +} diff --git a/pkgs/data/themes/qogir/default.nix b/pkgs/data/themes/qogir/default.nix new file mode 100644 index 00000000000..e3e3b6e485b --- /dev/null +++ b/pkgs/data/themes/qogir/default.nix @@ -0,0 +1,54 @@ +{ lib +, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gnome-themes-extra +, gtk-engine-murrine +, librsvg +, sassc +, which +}: + +stdenv.mkDerivation rec { + pname = "qogir-theme"; + version = "2021-12-25"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "1h10yqz3i59bxhkk2r2p8as8g9ibx38bbpdxi7jgg2pxr581mn4f"; + }; + + nativeBuildInputs = [ + sassc + which + ]; + + buildInputs = [ + gdk-pixbuf # pixbuf engine for Gtk2 + gnome-themes-extra # adwaita engine for Gtk2 + librsvg # pixbuf loader for svg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine # murrine engine for Gtk2 + ]; + + installPhase = '' + patchShebangs . + mkdir -p $out/share/themes + name= ./install.sh -t all -d $out/share/themes + mkdir -p $out/share/doc/${pname} + cp -a src/firefox $out/share/doc/${pname} + rm $out/share/themes/*/{AUTHORS,COPYING} + ''; + + meta = with lib; { + description = "Flat Design theme for GTK based desktop environments"; + homepage = "https://vinceliuice.github.io/Qogir-theme"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/qtcurve/default.nix b/pkgs/data/themes/qtcurve/default.nix new file mode 100644 index 00000000000..0b639133a4a --- /dev/null +++ b/pkgs/data/themes/qtcurve/default.nix @@ -0,0 +1,69 @@ +{ lib, fetchFromGitHub, cmake, extra-cmake-modules, pkg-config, mkDerivation +, gtk2Support ? true, gtk2 +, qtbase, qtsvg, qtx11extras # Toolkit dependencies +, karchive, kconfig, kconfigwidgets, kio, frameworkintegration +, kguiaddons, ki18n, kwindowsystem, kdelibs4support, kiconthemes +, libpthreadstubs, pcre, libXdmcp, libX11, libXau # X11 dependencies +, fetchpatch +}: + +mkDerivation rec { + pname = "qtcurve"; + version = "1.9.1"; + src = fetchFromGitHub { + owner = "KDE"; + repo = "qtcurve"; + rev = version; + sha256 = "XP9VTeiVIiMm5mkXapCKWxfcvaYCkhY3S5RXZNR3oWo="; + }; + + patches = [ + # Remove unnecessary constexpr, this is not allowed in C++14 + (fetchpatch { + url = "https://github.com/KDE/qtcurve/commit/ee2228ea2f18ac5da9b434ee6089381df815aa94.patch"; + sha256 = "1vz5frsrsps93awn84gk8d7injrqfcyhc1rji6s0gsgsp5z9sl34"; + }) + # Fix build with Qt5.15 + (fetchpatch { + url = "https://github.com/KDE/qtcurve/commit/44e2a35ebb164dcab0bad1a9158b1219a3ff6504.patch"; + sha256 = "5I2fTxKRJX0cJcyUvYHWZx369FKk6ti9Se7AfYmB9ek="; + }) + ]; + + nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ]; + + buildInputs = [ + qtbase qtsvg qtx11extras + karchive kconfig kconfigwidgets kio kiconthemes kguiaddons ki18n + kwindowsystem kdelibs4support frameworkintegration + libpthreadstubs + pcre + libXdmcp libX11 libXau + ] ++ lib.optional gtk2Support gtk2; + + preConfigure = '' + for i in qt5/CMakeLists.txt qt5/config/CMakeLists.txt + do + substituteInPlace $i \ + --replace "{_Qt5_PLUGIN_INSTALL_DIR}" "{KDE_INSTALL_QTPLUGINDIR}" + done + substituteInPlace CMakeLists.txt \ + --replace \$\{GTK2_PREFIX\} $out + substituteInPlace gtk2/style/CMakeLists.txt \ + --replace \$\{GTK2_LIBDIR\} $out/lib + patchShebangs tools/gen-version.sh + ''; + + configureFlags = [ + "-DENABLE_GTK2=${if gtk2Support then "ON" else "OFF"}" + "-DENABLE_QT4=OFF" + ]; + + meta = with lib; { + homepage = "https://github.com/QtCurve/qtcurve"; + description = "Widget styles for Qt5/Plasma 5 and gtk2"; + platforms = platforms.linux; + license = licenses.lgpl21Plus; + maintainers = [ ]; + }; +} diff --git a/pkgs/data/themes/rose-pine-gtk/default.nix b/pkgs/data/themes/rose-pine-gtk/default.nix new file mode 100644 index 00000000000..d139876e142 --- /dev/null +++ b/pkgs/data/themes/rose-pine-gtk/default.nix @@ -0,0 +1,44 @@ +{ stdenv +, fetchFromGitHub +, lib +, gnome-themes-extra +, gtk-engine-murrine +, gtk_engines +}: + +stdenv.mkDerivation rec { + pname = "rose-pine-gtk-theme"; + version = "unstable-2021-02-22"; + + src = fetchFromGitHub { + owner = "rose-pine"; + repo = "gtk"; + rev = "9cd2dd449f911973ec549231a57a070d256da9fd"; + sha256 = "0lqx8dmv754ix3xbg7h440x964n0bg4lb06vbzvsydnbx79h7lvy"; + }; + + buildInputs = [ + gnome-themes-extra # adwaita engine for Gtk2 + gtk_engines # pixmap engine for Gtk2 + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine # murrine engine for Gtk2 + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Rose-Pine $out/share/themes + rm $out/share/themes/*/LICENSE + runHook postInstall + ''; + + meta = with lib; { + description = "Rosé Pine theme for GTK"; + homepage = "https://github.com/rose-pine/gtk"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/shades-of-gray/default.nix b/pkgs/data/themes/shades-of-gray/default.nix new file mode 100644 index 00000000000..e4c4cfb3ba5 --- /dev/null +++ b/pkgs/data/themes/shades-of-gray/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitHub, gtk_engines, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "shades-of-gray-theme"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "WernerFP"; + repo = pname; + rev = version; + sha256 = "13ydym0i3032g5dyrnl5wxpvxv57b43q7iaq5achpmaixgn58gs8"; + }; + + buildInputs = [ gtk_engines ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + mkdir -p $out/share/themes + cp -a Shades-of-gray* $out/share/themes/ + ''; + + meta = with lib; { + description = "Flat dark GTK theme with ergonomic contrasts"; + homepage = "https://github.com/WernerFP/Shades-of-gray-theme"; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/sierra/default.nix b/pkgs/data/themes/sierra/default.nix new file mode 100644 index 00000000000..e87f6466141 --- /dev/null +++ b/pkgs/data/themes/sierra/default.nix @@ -0,0 +1,74 @@ +{ lib +, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gtk-engine-murrine +, jdupes +, librsvg +, libxml2 +, buttonVariants ? [] # default to all +, colorVariants ? [] # default to all +, opacityVariants ? [] # default to all +, sizeVariants ? [] # default to all +}: + +let + pname = "sierra-gtk-theme"; +in +lib.checkListOfEnum "${pname}: button variants" [ "standard" "alt" ] buttonVariants +lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants +lib.checkListOfEnum "${pname}: opacity variants" [ "standard" "solid" ] opacityVariants +lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants + +stdenv.mkDerivation { + inherit pname; + version = "unstable-2021-05-24"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = "05899001c4fc2fec87c4d222cb3997c414e0affd"; + sha256 = "174l5mryc34ma1r42pk6572c6i9hmzr9vj1a6w06nqz5qcfm1hds"; + }; + + nativeBuildInputs = [ + jdupes + libxml2 + ]; + + buildInputs = [ + gdk-pixbuf + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + + patchShebangs install.sh + + mkdir -p $out/share/themes + name= ./install.sh --dest $out/share/themes \ + ${lib.optionalString (buttonVariants != []) "--alt " + builtins.toString buttonVariants} \ + ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (opacityVariants != []) "--opacity " + builtins.toString opacityVariants} \ + ${lib.optionalString (sizeVariants != []) "--flat " + builtins.toString sizeVariants} + + # Replace duplicate files with hardlinks to the first file in each + # set of duplicates, reducing the installed size in about 79% + jdupes -L -r $out/share + + runHook postInstall + ''; + + meta = with lib; { + description = "A Mac OSX like theme for GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/Sierra-gtk-theme"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/skeu/default.nix b/pkgs/data/themes/skeu/default.nix new file mode 100644 index 00000000000..d8b0c189657 --- /dev/null +++ b/pkgs/data/themes/skeu/default.nix @@ -0,0 +1,46 @@ +{ lib, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gtk-engine-murrine +, gtk_engines +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "skeu"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "darkomarko42"; + repo = pname; + rev = version; + sha256 = "0lbl09p0h493ya978fh7cib68qlmxfxahmbj0mpa3b65ynxda645"; + }; + + buildInputs = [ + gdk-pixbuf + gtk_engines + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Skeu* $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "GTK theme with skeuomorphism design"; + homepage = "https://www.pling.com/p/1363834/"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/snowblind/default.nix b/pkgs/data/themes/snowblind/default.nix new file mode 100644 index 00000000000..d36fe232442 --- /dev/null +++ b/pkgs/data/themes/snowblind/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitLab, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "snowblind"; + version = "2020-06-07"; + + src = fetchFromGitLab { + domain = "www.opencode.net"; + owner = "ju1464"; + repo = pname; + rev = "88d626b204e19d1730836289a1c0d83efcf247d0"; + sha256 = "0admiqwdc0rvl8zxs0b2qyvsi8im7lrpsygm8ky8ymyf7alkw0gd"; + }; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + installPhase = '' + mkdir -p $out/share/themes + cp -a Snowblind* $out/share/themes + rm $out/share/themes/*/{COPYING,CREDITS} + ''; + + meta = with lib; { + description = "Smooth blue theme based on Materia Design"; + homepage = "https://www.opencode.net/ju1464/Snowblind"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/solarc/default.nix b/pkgs/data/themes/solarc/default.nix new file mode 100644 index 00000000000..a6ae8ce2e91 --- /dev/null +++ b/pkgs/data/themes/solarc/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, + gtk-engine-murrine, gtk3 +}: + +stdenv.mkDerivation { + pname = "solarc-gtk-theme"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "schemar"; + repo = "solarc-theme"; + rev = "d1eb117325b8e5085ecaf78df2eb2413423fc643"; + sha256 = "005b66whyxba3403yzykpnlkz0q4m154pxpb4jzcny3fggy9r70s"; + }; + + nativeBuildInputs = [ autoconf automake pkg-config gtk3 ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine gtk3 ]; + + buildPhase = '' + ./autogen.sh --prefix=$out + ''; + + meta = with lib; { + description = "Solarized version of the Arc theme"; + homepage = "https://github.com/schemar/solarc-theme"; + license = licenses.gpl3; + maintainers = [ ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/data/themes/stilo/default.nix b/pkgs/data/themes/stilo/default.nix new file mode 100644 index 00000000000..6401c0e2869 --- /dev/null +++ b/pkgs/data/themes/stilo/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "stilo-themes"; + version = "4.0"; + + src = fetchFromGitHub { + owner = "lassekongo83"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-YKEDXrOAn7pGWb0VcOx7cKHnuX120yPzqtUVnzyLrDQ="; + }; + + nativeBuildInputs = [ meson ninja sassc ]; + + buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + meta = with lib; { + description = "Minimalistic GTK, gnome shell and Xfce themes"; + homepage = "https://github.com/lassekongo83/stilo-themes"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/sweet/default.nix b/pkgs/data/themes/sweet/default.nix new file mode 100644 index 00000000000..3ffa3caf8ba --- /dev/null +++ b/pkgs/data/themes/sweet/default.nix @@ -0,0 +1,51 @@ +{ lib, stdenv, fetchurl, unzip, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "sweet"; + version = "3.0"; + + srcs = [ + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar-Blue.zip"; + sha256 = "sha256-6ZrjH5L7Yox7riR+2I7vVbFoG4k7xHGyOq1OnkllyiY"; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Ambar.zip"; + sha256 = "sha256-FAbf682YJCCt8NKSdFoaFLwxLDU1aCcTgNdlybZtPMo="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-Dark.zip"; + sha256 = "sha256-t6fczOnKwi4B9hSFhHQaQ533o7MFL+7HPtUJ/p2CIXM="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet-mars.zip"; + sha256 = "sha256-QGkkpUqkxGPM1DXrvToB3taajk7vK3rqibQF2M4N9i0="; + }) + (fetchurl { + url = "https://github.com/EliverLara/Sweet/releases/download/v${version}/Sweet.zip"; + sha256 = "sha256-1qVC2n7ypN1BFuSzBpbY7QzJUzF1anYNAVcMkNpGTMM"; + }) + ]; + + nativeBuildInputs = [ unzip ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + sourceRoot = "."; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes/ + cp -a Sweet* $out/share/themes/ + rm $out/share/themes/*/{LICENSE,README*} + runHook postInstall + ''; + + meta = with lib; { + description = "Light and dark colorful Gtk3.20+ theme"; + homepage = "https://github.com/EliverLara/Sweet"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ fuzen ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/data/themes/ubuntu-themes/default.nix b/pkgs/data/themes/ubuntu-themes/default.nix new file mode 100644 index 00000000000..fb23141a64e --- /dev/null +++ b/pkgs/data/themes/ubuntu-themes/default.nix @@ -0,0 +1,77 @@ +{ lib, stdenv +, fetchurl +, fetchpatch +, gnome-icon-theme +, gnome +, gtk-engine-murrine +, gtk3 +, hicolor-icon-theme +, humanity-icon-theme +, python3Packages +}: + +stdenv.mkDerivation rec { + pname = "ubuntu-themes"; + version = "20.10"; + + src = fetchurl { + url = "https://launchpad.net/ubuntu/+archive/primary/+files/${pname}_${version}.orig.tar.gz"; + sha256 = "00frn2dd4kjhlmwkasrx4a820fwrg8f8hmiwh51m63bpj00vwn0r"; + }; + + nativeBuildInputs = [ + gtk3 + python3Packages.python + ]; + + propagatedBuildInputs = [ + gnome-icon-theme + gnome.adwaita-icon-theme + humanity-icon-theme + hicolor-icon-theme + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontDropIconThemeCache = true; + + postPatch = '' + patchShebangs . + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/themes + cp -a Ambiance $out/share/themes + cp -a Radiance $out/share/themes + + mkdir -p $out/share/icons + cp -a LoginIcons $out/share/icons + cp -a suru-icons $out/share/icons + cp -a ubuntu-mobile $out/share/icons + cp -a ubuntu-mono-dark $out/share/icons + cp -a ubuntu-mono-light $out/share/icons + + mv $out/share/icons/{suru-icons,suru} + + for theme in $out/share/icons/*; do + gtk-update-icon-cache $theme + done + + mkdir -p $out/share/icons/hicolor/48x48/apps + cp -a distributor-logo.png $out/share/icons/hicolor/48x48/apps + + runHook postInstall + ''; + + meta = with lib; { + description = "Ubuntu monochrome and Suru icon themes, Ambiance and Radiance themes, and Ubuntu artwork"; + homepage = "https://launchpad.net/ubuntu-themes"; + license = with licenses; [ cc-by-sa-40 gpl3 ]; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/venta/default.nix b/pkgs/data/themes/venta/default.nix new file mode 100644 index 00000000000..1f739c66006 --- /dev/null +++ b/pkgs/data/themes/venta/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, gdk-pixbuf +, gtk-engine-murrine +, gtk_engines +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "venta"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "darkomarko42"; + repo = pname; + rev = version; + sha256 = "14ckkvyarq1xmf48fh47by5h3jnkmksj2n4y6zvx3aw7pfg2jc51"; + }; + + buildInputs = [ + gdk-pixbuf + gtk_engines + librsvg + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/themes + cp -a Venta* $out/share/themes + runHook postInstall + ''; + + meta = with lib; { + description = "Gtk theme based on windows 10 style"; + homepage = "https://www.pling.com/p/1386774/"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/vertex/default.nix b/pkgs/data/themes/vertex/default.nix new file mode 100644 index 00000000000..cff886440e3 --- /dev/null +++ b/pkgs/data/themes/vertex/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "theme-vertex"; + version = "20170128"; + + src = fetchFromGitHub { + owner = "horst3180"; + repo = "vertex-theme"; + rev = version; + sha256 = "0c9mhrs95ahz37djrv176vn41ywvj26ilwmnr1h9171giv6hid98"; + }; + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + configureFlags = [ "--disable-unity" ]; + + postInstall = '' + mkdir -p $out/share/plank/themes + cp -r extra/*-Plank $out/share/plank/themes + + mkdir -p $out/share/doc/$pname/Chrome + cp -r extra/Chrome/*.crx $out/share/doc/$pname/Chrome + cp -r extra/Firefox $out/share/doc/$pname + cp AUTHORS README.md $out/share/doc/$pname/ + ''; + + meta = with lib; { + inherit (src.meta) homepage; + description = "Theme for GTK 3, GTK 2, Gnome-Shell, and Cinnamon"; + license = licenses.gpl3; + platforms = platforms.unix; + maintainers = with maintainers; [ romildo ]; + }; +} diff --git a/pkgs/data/themes/vimix/default.nix b/pkgs/data/themes/vimix/default.nix new file mode 100644 index 00000000000..d92ff42f48c --- /dev/null +++ b/pkgs/data/themes/vimix/default.nix @@ -0,0 +1,48 @@ +{ lib +, stdenv +, fetchFromGitHub +, gnome-shell +, gtk-engine-murrine +, gtk_engines +}: + +stdenv.mkDerivation rec { + pname = "vimix-gtk-themes"; + version = "2021-08-17"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "1pn737w99j4ij8qkgw0rrzhbcqzni73z5wnkfqgqqbhj38rafbpv"; + }; + + nativeBuildInputs = [ + gnome-shell # needed to determine the gnome-shell version + ]; + + buildInputs = [ + gtk_engines + ]; + + propagatedUserEnvPkgs = [ + gtk-engine-murrine + ]; + + installPhase = '' + runHook preInstall + patchShebangs . + mkdir -p $out/share/themes + name= ./install.sh --all --dest $out/share/themes + rm $out/share/themes/*/{AUTHORS,LICENSE} + runHook postInstall + ''; + + meta = with lib; { + description = "Flat Material Design theme for GTK based desktop environments"; + homepage = "https://github.com/vinceliuice/vimix-gtk-themes"; + license = licenses.gpl3Only; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/whitesur/default.nix b/pkgs/data/themes/whitesur/default.nix new file mode 100644 index 00000000000..825772880d6 --- /dev/null +++ b/pkgs/data/themes/whitesur/default.nix @@ -0,0 +1,98 @@ +{ lib +, stdenv +, fetchFromGitHub +, glib +, gnome-shell +, gnome-themes-extra +, jdupes +, libxml2 +, sassc +, util-linux +, altVariants ? [] # default: normal +, colorVariants ? [] # default: all +, opacityVariants ? [] # default: all +, themeVariants ? [] # default: default (BigSur-like theme) +, nautilusSize ? null # default: 200px +, panelOpacity ? null # default: 15% +, panelSize ? null # default: 32px +}: + +let + pname = "whitesur-gtk-theme"; + single = x: lib.optional (x != null) x; + +in +lib.checkListOfEnum "${pname}: alt variants" [ "normal" "alt" "all" ] altVariants +lib.checkListOfEnum "${pname}: color variants" [ "light" "dark" ] colorVariants +lib.checkListOfEnum "${pname}: opacity variants" [ "normal" "solid" ] opacityVariants +lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink" "red" "orange" "yellow" "green" "grey" "all" ] themeVariants +lib.checkListOfEnum "${pname}: nautilus sidebar minimum width" [ "default" "180" "220" "240" "260" "280" ] (single nautilusSize) +lib.checkListOfEnum "${pname}: panel opacity" [ "default" "30" "45" "60" "75" ] (single panelOpacity) +lib.checkListOfEnum "${pname}: panel size" [ "default" "smaller" "bigger" ] (single panelSize) + +stdenv.mkDerivation rec { + pname = "whitesur-gtk-theme"; + version = "2022-02-21"; + + src = fetchFromGitHub { + owner = "vinceliuice"; + repo = pname; + rev = version; + sha256 = "1bqgbkx7qhpj9vbqcxb69p67m8ix3avxr81pdpdi56g9gqbnkpfc"; + }; + + nativeBuildInputs = [ + glib + gnome-shell + jdupes + libxml2 + sassc + util-linux + ]; + + buildInputs = [ + gnome-themes-extra # adwaita engine for Gtk2 + ]; + + postPatch = '' + find -name "*.sh" -print0 | while IFS= read -r -d ''' file; do + patchShebangs "$file" + done + + # Do not provide `sudo`, as it is not needed in our use case of the install script + substituteInPlace lib-core.sh --replace '$(which sudo)' false + + # Provides a dummy home directory + substituteInPlace lib-core.sh --replace 'MY_HOME=$(getent passwd "''${MY_USERNAME}" | cut -d: -f6)' 'MY_HOME=/tmp' + ''; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/themes + + ./install.sh \ + ${toString (map (x: "--alt " + x) altVariants)} \ + ${toString (map (x: "--color " + x) colorVariants)} \ + ${toString (map (x: "--opacity " + x) opacityVariants)} \ + ${toString (map (x: "--theme " + x) themeVariants)} \ + ${lib.optionalString (nautilusSize != null) ("--size " + nautilusSize)} \ + ${lib.optionalString (panelOpacity != null) ("--panel-opacity " + panelOpacity)} \ + ${lib.optionalString (panelSize != null) ("--panel-size " + panelSize)} \ + --dest $out/share/themes + + jdupes --link-soft --recurse $out/share + + runHook postInstall + ''; + + meta = with lib; { + description = "MacOS Big Sur like theme for Gnome desktops"; + homepage = "https://github.com/vinceliuice/WhiteSur-gtk-theme"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/data/themes/yaru-remix/default.nix b/pkgs/data/themes/yaru-remix/default.nix new file mode 100644 index 00000000000..87056583b55 --- /dev/null +++ b/pkgs/data/themes/yaru-remix/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub, meson, sassc, pkg-config, glib, ninja, python3, gtk3, gnome }: + +stdenv.mkDerivation rec { + pname = "yaru-remix"; + version = "40"; + + src = fetchFromGitHub { + owner = "Muqtxdir"; + repo = pname; + rev = "v${version}"; + sha256 = "0xilhw5gbxsyy80ixxgj0nw6w782lz9dsinhi24026li1xny804c"; + }; + + nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ]; + buildInputs = [ gtk3 gnome.gnome-themes-extra ]; + + dontDropIconThemeCache = true; + + postPatch = "patchShebangs ."; + + meta = with lib; { + description = "Fork of the Yaru GTK theme"; + homepage = "https://github.com/Muqtxdir/yaru-remix"; + license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ]; + platforms = platforms.linux; + maintainers = with maintainers; [ hoppla20 ]; + }; +} diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix new file mode 100644 index 00000000000..67762e747f4 --- /dev/null +++ b/pkgs/data/themes/yaru/default.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, sassc +, pkg-config +, glib +, ninja +, python3 +, gtk3 +, gnome +, gtk-engine-murrine +, humanity-icon-theme +, hicolor-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "yaru"; + version = "22.04.2"; + + src = fetchFromGitHub { + owner = "ubuntu"; + repo = "yaru"; + rev = version; + sha256 = "sha256-oW5OOJPhC3OB3GIQWTQxPgqE7p4bAO1TyVbyKUHnyD0="; + }; + + nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ]; + + buildInputs = [ gtk3 gnome.gnome-themes-extra ]; + + propagatedBuildInputs = [ humanity-icon-theme hicolor-icon-theme ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + dontDropIconThemeCache = true; + + postPatch = "patchShebangs ."; + + meta = with lib; { + description = "Ubuntu community theme 'yaru' - default Ubuntu theme since 18.10"; + homepage = "https://github.com/ubuntu/yaru"; + license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ]; + platforms = platforms.linux; + maintainers = with maintainers; [ fortuneteller2k maxeaubrey ]; + }; +} diff --git a/pkgs/data/themes/zuki/default.nix b/pkgs/data/themes/zuki/default.nix new file mode 100644 index 00000000000..d557e151d26 --- /dev/null +++ b/pkgs/data/themes/zuki/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gdk-pixbuf, librsvg, gtk_engines, gtk-engine-murrine }: + +stdenv.mkDerivation rec { + pname = "zuki-themes"; + version = "4.0"; + + src = fetchFromGitHub { + owner = "lassekongo83"; + repo = pname; + rev = "v${version}"; + sha256 = "1q026wa8xgyb6f5k7pqpm5zav30dbnm3b8w59as3sh8rhfgpbf80"; + }; + + nativeBuildInputs = [ meson ninja sassc ]; + + buildInputs = [ gdk-pixbuf librsvg gtk_engines ]; + + propagatedUserEnvPkgs = [ gtk-engine-murrine ]; + + meta = with lib; { + description = "Themes for GTK, gnome-shell and Xfce"; + homepage = "https://github.com/lassekongo83/zuki-themes"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; + }; +} |