nixos-configs/modules/desktop/theme/qt.nix

49 lines
1.3 KiB
Nix
Raw Permalink Normal View History

self: {
lib,
osConfig,
pkgs,
...
}: {
config = let
inherit (self.scopedPackages.${pkgs.system}) dracula;
cfg = osConfig.roles.desktop;
in {
home.packages = [
pkgs.libsForQt5.qtstyleplugin-kvantum
pkgs.kdePackages.qtstyleplugin-kvantum
];
qt = {
enable = true;
style.name = "kvantum";
platformTheme.name = "qtct";
};
xdg.configFile = let
floatFont = lib.strings.floatToString cfg.fontSize;
qtconf =
# ini
''
[Fonts]
fixed="Sans Serif,${floatFont},-1,5,50,0,0,0,0,0"
general="Sans Serif,${floatFont},-1,5,50,0,0,0,0,0"
[Appearance]
icon_theme=Flat-Remix-Violet-Dark
style='';
# The newline before this must be there
in {
"Kvantum/Dracula/Dracula.kvconfig".source = "${dracula.gtk}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
"Kvantum/Dracula/Dracula.svg".source = "${dracula.gtk}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
"qt5ct/qt5ct.conf".text = qtconf + "kvantum";
"qt6ct/qt6ct.conf".text = qtconf + "kvantum";
};
};
# For accurate stack trace
_file = ./qt.nix;
}