{ config, lib, pkgs, ... }: { home.pointerCursor = { name = "catppuccin-cursors"; package = pkgs.catppuccin-cursors.mochaLavender; size = 24; }; gtk = { enable = true; iconTheme = { name = "Papirus-Dark"; package = pkgs.catppuccin-papirus-folders.override { flavor = "mocha"; accent = "lavender"; }; }; theme = { name = "Catppuccin-Mocha-Compact-Lavender-Dark"; package = pkgs.catppuccin-gtk.override { accents = ["lavender"]; variant = "mocha"; size = "compact"; }; }; gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; gtk2.extraConfig = '' gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle="hintslight" gtk-xft-rgba="rgb" ''; gtk3.extraConfig = { gtk-xft-antialias = 1; gtk-xft-hinting = 1; gtk-xft-hintstyle = "hintslight"; gtk-xft-rgba = "rgb"; }; }; xdg = let themeDir = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}"; in lib.mkIf config.gtk.enable { configFile = { "gtk-4.0/assets" = { source = "${themeDir}/gtk-4.0/assets"; recursive = true; }; "gtk-4.0/gtk.css".source = "${themeDir}/gtk-4.0/gtk.css"; "gtk-4.0/gtk-dark.css".source = "${themeDir}/gtk-4.0/gtk-dark.css"; }; }; }