nixnew/modules/theme/default.nix

75 lines
1.9 KiB
Nix

{ 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";
};
};
}