correct theming

This commit is contained in:
Zoty 2026-06-27 08:59:43 -03:00
parent 7ac1e734e7
commit 1c0da4eba9
Signed by: Zoty
SSH key fingerprint: SHA256:WsGEGivgl37t3Mth6uugXMOgMCTR7QolIepNbC+j/tA
5 changed files with 93 additions and 54 deletions

View file

@ -1,5 +1,6 @@
{ pkgs, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
# File manager + KDE ecosystem
kdePackages.dolphin kdePackages.dolphin
kdePackages.qtwayland kdePackages.qtwayland
kdePackages.kio kdePackages.kio
@ -9,9 +10,14 @@
kdePackages.ffmpegthumbs kdePackages.ffmpegthumbs
kdePackages.kded kdePackages.kded
kdePackages.systemsettings kdePackages.systemsettings
kdePackages.ksshaskpass
ffmpegthumbnailer ffmpegthumbnailer
# Desktop utilities
qalculate-gtk
]; ];
# Use KDE file chooser portal for Dolphin integration
xdg.configFile."xdg-desktop-portal/niri-portals.conf".text = '' xdg.configFile."xdg-desktop-portal/niri-portals.conf".text = ''
[preferred] [preferred]
default=gnome; default=gnome;

View file

@ -34,6 +34,14 @@ in {
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
# Niri session tools
fuzzel
swaylock
swww
rofimoji
libnotify
# Screenshot stack
grim grim
slurp slurp
satty satty

View file

@ -1,16 +1,14 @@
{ pkgs, lib, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
gruvterial-theme gruvbox-gtk-theme
gruvbox-plus-icons gruvbox-plus-icons
libsForQt5.qt5ct
kdePackages.qt6ct
]; ];
gtk = { gtk = {
enable = true; enable = true;
theme = { theme = {
name = "Gruvterial-Dark"; name = "Gruvbox-Dark";
package = pkgs.gruvterial-theme; package = pkgs.gruvbox-gtk-theme;
}; };
iconTheme = { iconTheme = {
name = "Gruvbox-Plus-Dark"; name = "Gruvbox-Plus-Dark";
@ -20,47 +18,84 @@
qt = { qt = {
enable = true; enable = true;
platformTheme.name = "qtct"; # KDE platform theme: reads kdeglobals for colors, handles KDE app integration.
style = { # qtct has a known bug where qt6ct can't access Kvantum, making it wrong for Dolphin.
name = "kvantum"; platformTheme.name = "kde";
package = pkgs.kdePackages.qtstyleplugin-kvantum; # QT_STYLE_OVERRIDE=kvantum is set automatically by home-manager.
}; # Uses qt6Packages.qtstyleplugin-kvantum + libsForQt5.qtstyleplugin-kvantum.
style.name = "kvantum";
}; };
xdg.configFile."kvantum/kvantum.kvconfig".text = '' # Kvantum themes must live in ~/.config/Kvantum/ (capital K, capital V).
# The nix user-environment strips share/Kvantum from the profile merge, so the
# package alone is not enough — the theme directory must be linked explicitly.
xdg.configFile."Kvantum/Gruvbox-Dark-Brown".source =
"${pkgs.gruvbox-kvantum}/share/Kvantum/Gruvbox-Dark-Brown";
xdg.configFile."Kvantum/kvantum.kvconfig".text = ''
[General] [General]
theme=KvDark theme=Gruvbox-Dark-Brown
''; '';
xdg.configFile."qt5ct/qt5ct.conf".text = '' # KDE color scheme aligned to gruvbox-gtk-theme's Gruvbox Dark palette so
[Appearance] # Dolphin and other KDE apps share the same background and accent colors as
style=kvantum # GTK apps like qalculate-gtk.
icon_theme=Gruvbox-Plus-Dark xdg.configFile."kdeglobals".text = ''
standard_dialogs=default [Colors:Window]
custom_palette=false BackgroundNormal=#282828
BackgroundAlternate=#32302f
ForegroundNormal=#ebdbb2
ForegroundInactive=#a89984
ForegroundActive=#ebdbb2
DecorationHover=#7daea3
DecorationFocus=#7daea3
[Interface] [Colors:Button]
menus_have_icons=true BackgroundNormal=#3c3836
buttons_have_icons=true BackgroundAlternate=#32302f
toolbutton_style=4 ForegroundNormal=#ebdbb2
activate_item_on_single_click=1 ForegroundInactive=#a89984
underline_shortcut=1 DecorationHover=#7daea3
DecorationFocus=#7daea3
[Colors:View]
BackgroundNormal=#1d2021
BackgroundAlternate=#282828
ForegroundNormal=#ebdbb2
ForegroundInactive=#a89984
ForegroundActive=#7daea3
ForegroundLink=#83a598
ForegroundVisited=#b16286
DecorationHover=#7daea3
DecorationFocus=#7daea3
[Colors:Selection]
BackgroundNormal=#7daea3
BackgroundAlternate=#689d6a
ForegroundNormal=#1d2021
ForegroundInactive=#1d2021
[Colors:Tooltip]
BackgroundNormal=#32302f
ForegroundNormal=#fbf1c7
[Colors:Complementary]
BackgroundNormal=#1d2021
ForegroundNormal=#ebdbb2
[Icons]
Theme=Gruvbox-Plus-Dark
[General]
ColorScheme=GruvboxDark
Name=Gruvbox Dark
[KDE]
contrast=5
''; '';
xdg.configFile."qt6ct/qt6ct.conf".text = '' home.sessionVariables = {
[Appearance] SSH_ASKPASS = "${pkgs.kdePackages.ksshaskpass}/bin/ksshaskpass";
style=kvantum SSH_ASKPASS_REQUIRE = "prefer";
icon_theme=Gruvbox-Plus-Dark };
standard_dialogs=default
custom_palette=false
[Interface]
menus_have_icons=true
buttons_have_icons=true
toolbutton_style=4
activate_item_on_single_click=1
underline_shortcut=1
'';
home.sessionVariables.QT_QPA_PLATFORMTHEME = lib.mkForce "qt6ct";
} }

View file

@ -104,7 +104,7 @@ in {
./_home/niri.nix ./_home/niri.nix
./_home/cursor.nix ./_home/cursor.nix
./_home/git.nix ./_home/git.nix
./_home/dolphin.nix ./_home/apps.nix
./_home/theme.nix ./_home/theme.nix
./_home/xdg-dirs.nix ./_home/xdg-dirs.nix
]; ];

View file

@ -13,19 +13,9 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
quickshell-niri quickshell-niri
fuzzel
swaylock
swayidle
swww
grim
slurp
wl-clipboard
xdg-desktop-portal-gnome xdg-desktop-portal-gnome
xwayland-satellite xwayland-satellite
gpu-screen-recorder-gtk gpu-screen-recorder-gtk
libnotify
qalculate-gtk
rofimoji
]; ];
xdg.portal = { xdg.portal = {