Files
nix/hosts/common/user/configs/gui/qt/default.nix
2024-07-08 20:01:55 +03:00

55 lines
1.4 KiB
Nix

{
user ? throw "user argument is required",
}:
{
config,
lib,
pkgs,
...
}:
let
hmConfig = config.home-manager.users.${user.name};
in
{
home-manager.users.${user.name} = {
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";
};
programs.matugen.settings.templates = {
# https://github.com/GabePoel/KvLibadwaita/blob/main/src/KvLibadwaita/KvLibadwaita.kvconfig
kvantumConfig = {
input_path = ./KvAdwQt/KvAdwQt.kvconfig;
output_path = "${hmConfig.xdg.configHome}/Kvantum/KvAdwQt/KvAdwQt.kvconfig";
};
# https://github.com/GabePoel/KvLibadwaita/blob/main/src/KvLibadwaita/KvLibadwaita.svg
kvantumSvg = {
input_path = ./KvAdwQt/KvAdwQt.svg;
output_path = "${hmConfig.xdg.configHome}/Kvantum/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";
};
};
};
}