diff --git a/home-modules/gtk.nix b/home-modules/gtk.nix index ef8a728..078c535 100755 --- a/home-modules/gtk.nix +++ b/home-modules/gtk.nix @@ -1,4 +1,5 @@ -{ config, pkgs, lib, rice, user, ... }: let +{ config, pkgs, rice, ... }: +let # theme-name = "Colloid-Pink-Dark-Compact"; # theme-package = pkgs.colloid-gtk-theme.override { # themeVariants = [ "pink" ]; @@ -6,65 +7,192 @@ # sizeVariants = [ "compact" ]; # tweaks = [ "black" ]; # }; - theme-name = "catppuccin-macchiato-pink-compact+rimless,black"; - theme-package = pkgs.catppuccin-gtk.override { - accents = [ "pink" ]; - size = "compact"; - tweaks = [ "rimless" "black" ]; - variant = "macchiato"; - }; + + # theme-name = "catppuccin-macchiato-pink-compact+rimless,black"; + # theme-package = pkgs.catppuccin-gtk.override { + # accents = [ "pink" ]; + # size = "compact"; + # tweaks = [ "rimless" "black" ]; + # variant = "macchiato"; + # }; + theme-name = "Materia-dark-compact"; + theme-package = pkgs.materia-theme-transparent; + # theme-name = "numix"; + # theme-name = "adw-gtk3-dark"; + # theme-package = pkgs.adw-gtk3; + # theme-package = let + # theme-string = with rice.color; let + # h = rice.lib.nohash; + # d = rice.lib.float-to-drune; + # in /* ini */ '' + # BG=${h background} + # FG=${h foreground} + # SEL_BG=${h accent.base} + # SEL_FG=${h black.base} + # ACCENT_BG=${h accent.base} + # TXT_BG=${h black.dark} + # TXT_FG=${h foreground} + # HDR_BG=${h background} + # HDR_FG=${h foreground} + # BTN_BG=${h accent.dark} + # BTN_FG=${h foreground} + # HDR_BTN_BG=${h accent.dark} + # HDR_BTN_FG=${h foreground} + # WM_BORDER_FOCUS=${h border} + # WM_BORDER_UNFOCUS=${h accent.dark} + # ROUNDNESS=${builtins.toString rice.rounding} + # ROUNDNESS_GTK2_HIDPI=${builtins.toString rice.rounding} + # OUTLINE_WIDTH=${builtins.toString rice.border-width} + # BTN_OUTLINE_OFFSET=-3 + # BTN_OUTLINE_WIDTH=1 + # SPACING=${builtins.toString rice.gap-size} + # GRADIENT=0.0 + # CINNAMON_OPACITY=${builtins.toString rice.transparency} + # INACTIVE_FG=${h foreground} + # INACTIVE_TXT_FG=${h foreground} + # INACTIVE_HDR_FG=${h foreground} + # ICONS_DARK=${h accent.dark} + # ICONS_MEDIUM=${h accent.base} + # ICONS_LIGHT=${h accent.bright} + # ICONS_LIGHT_FOLDER=${h accent.base} + # ICONS_SYMBOLIC_ACTION=${h accent.base} + # ICONS_SYMBOLIC_PANEL=${h accent.base} + # ICONS_STYLE=icons_papirus + # CARET1_FG=${h white.dark} + # CARET2_FG=${h black.bright} + # CARET_SIZE=0.04 + # MENU_BG=${h accent.dark} + # MENU_FG=${h foreground} + # OUTLINE_WIDTH=${builtins.toString rice.border-width} + # SPOTIFY_PROTO_BG=${h accent.dark} + # SPOTIFY_PROTO_FG=${h foreground} + # SPOTIFY_PROTO_SEL=${h blue.base} + # BASE16_GENERATE_DARK=False + # BASE16_INVERT_TERMINAL=False + # BASE16_MILD_TERMINAL=False + # UNITY_DEFAULT_LAUNCHER_STYLE=False + # ''; + # # theme-source-pkg = pkgs.materia-theme; + # theme-source-pkg = pkgs.themix-gui; + # in pkgs.stdenv.mkDerivation { + # name = "oomox-gtk"; + # version = theme-source-pkg.version; + # src = theme-source-pkg.src; + # dontBuild = true; + # nativeBuildInputs = with pkgs; [ + # glib + # libxml2 + # bc + # ]; + # buildInputs = with pkgs; [ + # gnome-themes-extra + # gdk-pixbuf + # librsvg + # sassc + # inkscape + # optipng + # ]; + # propagatedUserEnvPkgs = with pkgs; [ + # gtk-engine-murrine + # ]; + # # installPhase = '' + # # mkdir -p $out/share/themes/materia + # # patchShebangs . + # # ./change_color.sh -o materia -t $out/share/themes <(echo -e "${theme-string}") + # # ''; + # installPhase = '' + # mkdir -p $out/share/icons/icons_papirus + # mkdir -p $out/share/icons/icons_numix + # mkdir -p $out/share/icons/icons_suruplus + # echo "${theme-string}" > $out/oomox.colors + # pushd plugins/icons_papirus + # patchShebangs . + # ./change_color.sh -o icons_papirus -d $out/share/icons/icons_papirus $out/oomox.colors + # popd + # pushd plugins/icons_numix + # patchShebangs . + # ./change_color.sh -o icons_numix -d $out/share/icons/icons_numix $out/oomox.colors + # popd + # pushd plugins/icons_suruplus + # patchShebangs . + # ./change_color.sh -o icons_suruplus -d $out/share/icons/icons_suruplus $out/oomox.colors + # popd + # mkdir -p $out/share/themes/numix + # pushd plugins/theme_oomox + # patchShebangs . + # HOME=$out ./change_color.sh -o numix -m all -t $out/share/themes $out/oomox.colors + # popd + # ''; + # meta = { + # description = "custom theme utility"; + # homepage = "https://github.com/themix-project/themix-gui"; + # maintainers = [ ]; + # }; + # }; in { - home.packages = with pkgs; [ - # gnome.gnome-themes-extra - # gnome.adwaita-icon-theme - gnome.gnome-tweaks - gtk3 - gtk4 - # catppuccin-gtk - bibata-cursors - ] ++ [ - # pkgs-unstable.themix-gui - ]; - - - home.sessionVariables.GTK_THEME = theme-name; - + home = { + packages = with pkgs; [ + # gnome.gnome-themes-extra + adwaita-icon-theme + gnome-tweaks + gtk3 + gtk4 + # catppuccin-gtk + bibata-cursors + ] ++ [ + # pkgs-unstable.themix-gui + ]; + sessionVariables.GTK_THEME = theme-name; + pointerCursor = { + gtk.enable = true; + x11.enable = true; + } // rice.cursor; + }; gtk = { enable = true; theme = { name = theme-name; package = theme-package; - }; - gtk3.extraConfig = { - gtk-application-prefer-dark-theme = 1; - }; - gtk4.extraConfig = { - gtk-application-prefer-dark-theme = 1; - }; - cursorTheme = rice.cursor; }; + gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; + gtk3 = { + extraConfig.gtk-application-prefer-dark-theme = 1; + # extraCss = with rice.color; /* css */ '' + # wnck-pager { + # color: ${black.bright}; + # background-color: ${background}; + # } - home.pointerCursor = { - gtk.enable = true; - x11.enable = true; - } // rice.cursor; - - xdg.configFile = { - "gtk-4.0/assets".source = "${theme-package}/share/themes/${theme-name}/gtk-4.0/assets"; - "gtk-4.0/gtk.css".source = "${theme-package}/share/themes/${theme-name}/gtk-4.0/gtk.css"; - "gtk-4.0/gtk-dark.css".source = "${theme-package}/share/themes/${theme-name}/gtk-4.0/gtk-dark.css"; + # wnck-pager:selected { + # color: ${background}; + # background-color: ${accent.base}; + # } + # ''; + # window.background { + # background-color: rgba(${rice.lib.hex-to-rgb-comma-string background},${builtins.toString rice.transparency}); + # } + # .background, .view, .surface, .frame, box, window.decoration, stack { + # background-color: transparent; + # } }; - - - - - dconf = { - enable = true; - settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - gtk-theme = theme-name; - }; + gtk4 = { + extraConfig.gtk-application-prefer-dark-theme = 1; + extraCss = config.gtk.gtk3.extraCss; + }; + cursorTheme = rice.cursor; + }; + xdg.configFile = { + "gtk-4.0/assets".source = "${theme-package}/share/themes/${theme-name}/gtk-3.20/assets"; + "gtk-4.0/gtk.css".source = "${theme-package}/share/themes/${theme-name}/gtk-3.20/gtk.css"; + "gtk-4.0/gtk-dark.css".source = "${theme-package}/share/themes/${theme-name}/gtk-3.20/gtk-dark.css"; + }; + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + # gtk-theme = theme-name; }; }; - } + }; +}