From e4b93499b9e6f5385313413a5cb1cad921d8b82d Mon Sep 17 00:00:00 2001 From: soraefir Date: Sat, 13 Apr 2024 09:17:14 +0200 Subject: [PATCH] theme --- modules/home/gui/theme/default.nix | 2 +- modules/home/gui/theme/gtk-theme-gen.nix | 132 ++++++++++++++--------- 2 files changed, 82 insertions(+), 52 deletions(-) diff --git a/modules/home/gui/theme/default.nix b/modules/home/gui/theme/default.nix index 1e77ed4..efb0ed6 100755 --- a/modules/home/gui/theme/default.nix +++ b/modules/home/gui/theme/default.nix @@ -17,7 +17,7 @@ in { gtk = { enable = true; theme = { - name = "${config.colorscheme.slug}"; + name = "${config.colorscheme.slug}-Dark"; package = gtkThemeFromScheme; }; iconTheme = { diff --git a/modules/home/gui/theme/gtk-theme-gen.nix b/modules/home/gui/theme/gtk-theme-gen.nix index 98a38da..3eaaf89 100755 --- a/modules/home/gui/theme/gtk-theme-gen.nix +++ b/modules/home/gui/theme/gtk-theme-gen.nix @@ -9,60 +9,90 @@ let in pkgs.stdenv.mkDerivation rec { name = "generated-gtk-theme-${scheme.slug}"; src = pkgs.fetchFromGitHub { - owner = "nana-4"; - repo = "materia-theme"; - rev = "6e5850388a25f424b8193fe4523504d1dc364175"; - sha256 = "sha256-I6hpH0VTmftU4+/pRbztuTQcBKcOFBFbNZXJL/2bcgU="; + owner = "vinceliuice"; + repo = "Orchis-theme"; + rev = "be8b0aff92ed0741174b74c2ee10c74b15be0474"; + sha256 = "sha256-m7xh/1uIDh2BM0hTPA5QymXQt6yV7mM7Ivg5VaF2PvM="; }; - buildInputs = with pkgs; [ - sassc - bc - which - rendersvg - meson - ninja - nodePackages.sass - gtk4.dev - optipng - ]; - phases = [ "unpackPhase" "installPhase" ]; - installPhase = '' - HOME=/build - chmod 777 -R . - patchShebangs . - mkdir -p $out/share/themes - mkdir bin - sed -e 's/handle-horz-.*//' -e 's/handle-vert-.*//' -i ./src/gtk-2.0/assets.txt - cat > /build/gtk-colors << EOF - BG=${scheme.palette.base00} - FG=${scheme.palette.base07} - HDR_BG=${scheme.palette.base00} - HDR_FG=${scheme.palette.base07} - SEL_BG=${scheme.palette.base03} - SEL_FG=${scheme.palette.base07} - TXT_BG=${scheme.palette.base01} - TXT_FG=${scheme.palette.base07} - BTN_BG=${scheme.palette.base01} - BTN_FG=${scheme.palette.base07} - HDR_BTN_BG=${scheme.palette.base01} - HDR_BTN_FG=${scheme.palette.base07} - MENU_BG=${scheme.palette.base00} - MENU_FG=${scheme.palette.base07} - ACCENT_BG=${scheme.palette.base0C} - ACCENT_FG=${scheme.palette.base00} - MATERIA_SURFACE=${scheme.palette.base01} - MATERIA_VIEW=${scheme.palette.base00} - WM_BORDER_FOCUS=${scheme.palette.base02} - WM_BORDER_UNFOCUS=${scheme.palette.base02} - UNITY_DEFAULT_LAUNCHER_STYLE=False - ROUNDNESS=7 - NAME=${scheme.slug} - MATERIA_STYLE_COMPACT=True + nativeBuildInputs = with pkgs;[ gtk3 sassc ]; + buildInputs = with pkgs;[ gnome-themes-extra ]; + propagatedUserEnvPkgs = with pkgs;[ gtk-engine-murrine ]; + + preInstall = '' + mkdir -p $out/share/themes + cat > src/_sass/_color-palette-${scheme.slug}.scss << 'EOF' + $red-light: #${scheme.palette.base0F}; + $red-dark: #${scheme.palette.base0F}; + + $pink-light: #${scheme.palette.base0E}; + $pink-dark: #${scheme.palette.base0E}; + + $purple-light: #${scheme.palette.base0D}; + $purple-dark: #${scheme.palette.base0D}; + + $blue-light: #${scheme.palette.base0C}; + $blue-dark: #${scheme.palette.base0C}; + + $teal-light: #${scheme.palette.base0B}; + $teal-dark: #${scheme.palette.base0B}; + + $green-light: #${scheme.palette.base0A}; + $green-dark: #${scheme.palette.base0A}; + $sea-light: #${scheme.palette.base0B}; + $sea-dark: #${scheme.palette.base0B}; + + $yellow-light: #${scheme.palette.base09}; + $yellow-dark: #${scheme.palette.base09}; + + $orange-light: #${scheme.palette.base08}; + $orange-dark: #${scheme.palette.base08}; + + $grey-050: #${scheme.palette.base07}; + $grey-100: #${scheme.palette.base07}; + $grey-150: #${scheme.palette.base07}; + $grey-200: #${scheme.palette.base06}; + $grey-250: #${scheme.palette.base06}; + $grey-300: #${scheme.palette.base05}; + $grey-350: #${scheme.palette.base05}; + $grey-400: #${scheme.palette.base04}; + $grey-450: #${scheme.palette.base04}; + $grey-500: #${scheme.palette.base03}; + $grey-550: #${scheme.palette.base03}; + $grey-600: #${scheme.palette.base02}; + $grey-650: #${scheme.palette.base02}; + $grey-700: #${scheme.palette.base01}; + $grey-750: #${scheme.palette.base01}; + $grey-800: #${scheme.palette.base01}; + $grey-850: #${scheme.palette.base00}; + $grey-900: #${scheme.palette.base00}; + $grey-950: #${scheme.palette.base00}; + + $white: #${scheme.palette.base07}; + $black: #${scheme.palette.base00}; + + $button-close: #${scheme.palette.base0F}; + $button-max: #${scheme.palette.base0A}; + $button-min: #${scheme.palette.base08}; EOF - echo "Changing colours:" - ./change_color.sh -o ${scheme.slug} /build/gtk-colors -i False -t "$out/share/themes" - chmod 555 -R . + sed -i "/\@import/s/color-palette-default/color-palette-${scheme.slug}/" src/_sass/_tweaks.scss + sed -i "/\$colorscheme:/s/default/${scheme.slug}/" src/_sass/_tweaks.scss + ''; + + installPhase = '' + runHook preInstall + bash install.sh -d $out/share/themes \ + -t default \ + -n ${scheme.slug} \ + -c ${scheme.variant} \ + -s standard \ + --tweaks primary \ + --round ${scheme.palette.border-radius}px + + runHook postInstall + ''; + + }