nichts/modules/gui/qt.nix

62 lines
1.6 KiB
Nix
Raw Normal View History

2024-04-10 17:39:26 +02:00
{
config,
lib,
pkgs,
...
}: with lib; let
2024-04-30 00:46:54 +02:00
theme = {
package = pkgs.gruvbox-gtk-theme;
name = "Gruvbox-Dark-BL";
};
2024-04-12 22:03:29 +02:00
cfg = config.modules.themes.qt;
username = config.modules.other.system.username;
2024-04-10 17:39:26 +02:00
in {
2024-04-12 22:03:29 +02:00
options.modules.themes.qt = {
2024-04-10 17:39:26 +02:00
enable = mkEnableOption "qt theming";
name = mkOption {
description = "qt theme name";
type = types.str;
};
variant = mkOption {
description = "qt theme variant";
type = types.str;
};
accentColour = mkOption {
description = "accent colour for qt theme";
type = types.str;
};
package = mkOption {
description = "qt theme package";
type = types.package;
};
};
config = mkIf cfg.enable {
environment.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt5ct";
};
2024-04-30 00:46:54 +02:00
environment.variables = {
QT_STYLE_OVERRIDE = lib.mkForce "kvantum";
GTK_THEME = theme.name;
};
2024-04-10 17:39:26 +02:00
home-manager.users.${username} = {
qt = {
enable = true;
2024-04-30 00:46:54 +02:00
platformTheme.name = "qt5ct";
# style = {
# inherit (cfg) name package;
# };
2024-04-10 17:39:26 +02:00
};
home = {
packages = with pkgs; [
qt5.qttools
libsForQt5.qt5ct
2024-04-30 00:46:54 +02:00
libsForQt5.qtstyleplugin-kvantum
2024-04-10 17:39:26 +02:00
breeze-icons
];
};
};
};
}