fix qt6 dolphin and kde theming

A small sample of the massive uncommitted change hoard
This commit is contained in:
outfoxxed 2025-01-05 22:11:49 -08:00
parent 945793973e
commit 546298220a
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E
5 changed files with 523 additions and 59 deletions

View file

@ -14,61 +14,31 @@
};
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";
};
imports = [ ./home.nix ];
};
nixpkgs.overlays = [(final: prev: {
qt6Packages = prev.qt6Packages.overrideScope (qfinal: qprev: {
qt6ct = qprev.qt6ct.overrideAttrs (ctprev: {
src = pkgs.fetchFromGitHub {
owner = "ilya-fedin";
repo = "qt6ct";
rev = "refs/heads/shenanigans";
sha256 = "2RlzcjGx4vBs+r/kXd1kP3o5tQ5hWdlu4J/tWmd7FVk=";
};
nativeBuildInputs = (builtins.filter (p: p != qfinal.qmake) ctprev.nativeBuildInputs) ++ [ final.cmake ];
buildInputs = ctprev.buildInputs ++ (with final.kdePackages; [
kconfig
kcolorscheme
kiconthemes
]);
cmakeFlags = [
(lib.cmakeFeature "PLUGINDIR" "lib/qt-6/plugins")
];
});
});
})];
}

70
modules/theme/home.nix Normal file
View file

@ -0,0 +1,70 @@
{ pkgs, ... }: {
home.file.".icons/default/index.theme".text = ''
[Icon Theme]
Inherits=breeze_cursors
'';
xdg.configFile = let
qtctConf = kdecolors: ''
[Appearance]
${if kdecolors then ''
color_scheme_path=${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors
'' else ''
color_scheme_path=${./colors-qt5ct.conf}
''}
custom_palette=true
icon_theme=breeze-dark
standard_dialogs=xdgdesktopportal
style=Breeze
[Fonts]
fixed="JetBrainsMono Nerd Font,12,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium"
general="DejaVu Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=0
cursor_flash_time=1000
dialog_buttons_have_icons=2
double_click_interval=400
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
toolbutton_style=2
underline_shortcut=1
wheel_scroll_lines=3
[Troubleshooting]
force_raster_widgets=0
'';
in {
# fixes dolphin background colors
"kdeglobals".source = "${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors";
"qt5ct/qt5ct.conf".text = qtctConf false;
"qt6ct/qt6ct.conf".text = qtctConf true;
};
home.packages = [
pkgs.kdePackages.breeze
];
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";
};
}