{ self, lib, config, pkgs, ... }: { environment.systemPackages = with pkgs; [ qt6.qtwayland kdePackages.breeze kdePackages.breeze-icons qt6.qtsvg # needed to load breeze icons kdePackages.qqc2-desktop-style ]; qt = { enable = true; platformTheme = "qt5ct"; }; home-manager.users.${config.main-user} = { home.file.".icons/default/index.theme".text = '' [Icon Theme] Inherits=breeze_cursors ''; xdg.configFile = let qtctConf = colors: '' [Appearance] style=Breeze icon_theme=breeze-dark standard_dialogs=xdgdesktopportal # Cantata misbehaves without color overrides. This overrides the breeze colors with the # exact same colors. color_scheme_path=${colors} custom_palette=true [Interface] buttonbox_layout=0 cursor_flash_time=1000 dialog_buttons_have_icons=2 double_click_interval=400 gui_effects=General, AnimateMenu, AnimateCombo keyboard_scheme=2 menus_have_icons=true show_shortcuts_in_context_menus=true toolbutton_style=4 underline_shortcut=1 wheel_scroll_lines=3 ''; in { # fixes dolphin background colors "kdeglobals".source = "${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors"; "qt5ct/qt5ct.conf".text = qtctConf ./colors-qt5ct.conf; "qt6ct/qt6ct.conf".text = qtctConf ./colors-qt6ct.conf; }; gtk = { enable = true; theme = { package = pkgs.kdePackages.breeze-gtk; name = "Breeze-Dark"; }; iconTheme = { package = pkgs.kdePackages.breeze-icons; name = "breeze-dark"; }; cursorTheme = { package = pkgs.kdePackages.breeze-gtk; name = "breeze_cursors"; }; gtk3.extraConfig.gtk-xft-rgba = "rgb"; gtk4.extraConfig.gtk-xft-rgba = "rgb"; }; }; }