Files
nix/users/configs/qt/default.nix
Nikolaos Karaolidis 5308735a40 Add qt config
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2024-07-06 18:48:57 +03:00

50 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";
};
};
};
}