{ user ? throw "user argument is required", home ? throw "home argument is required", }: { config, lib, pkgs, ... }: { home-manager.users.${user} = { qt = { enable = true; platformTheme.name = "qtct"; style.package = with pkgs; [ libsForQt5.qtstyleplugin-kvantum qt6Packages.qtstyleplugin-kvantum ]; }; home.sessionVariables = { QT_QPA_PLATFORM = "wayland"; QT_QPA_PLATFORMTHEME = "qt5ct"; }; theme.templates = { # https://github.com/GabePoel/KvLibadwaita/blob/main/src/KvLibadwaita/KvLibadwaita.kvconfig "${home}/.config/Kvantum/KvAdwQt/KvAdwQt.kvconfig".source = ./KvAdwQt/KvAdwQt.kvconfig; # https://github.com/GabePoel/KvLibadwaita/blob/main/src/KvLibadwaita/KvLibadwaita.svg "${home}/.config/Kvantum/KvAdwQt/KvAdwQt.svg".source = ./KvAdwQt/KvAdwQt.svg; }; xdg.configFile = let qtConfig = (pkgs.formats.ini { }).generate "qt5ct.conf" { Appearance.style = "kvantum"; }; in { "qt5ct/qt5ct.conf".source = qtConfig; "qt6ct/qt6ct.conf".source = qtConfig; "Kvantum/kvantum.kvconfig".source = (pkgs.formats.ini { }).generate "kvantum.kvconfig" { General.theme = "KvAdwQt"; }; }; }; }