nix/home/services/qt.nix
2026-02-08 21:32:44 -05:00

118 lines
2.6 KiB
Nix

{
config,
pkgs,
...
}:
{
qt = {
enable = true;
qt5ctSettings = {
Appearance = {
style = "Breeze";
icon_theme = config.gtk.iconTheme.name;
color_scheme_path = "/home/${config.userOptions.username}/.config/qt5ct/qt5ct.conf";
custom_palette = true;
standard_dialogs = "xdgdesktopportal";
};
Fonts = config.qt.qt6ctSettings.Fonts;
ColorScheme = config.qt.qt6ctSettings.ColorScheme;
};
qt6ctSettings = {
Appearance = {
style = "Breeze";
icon_theme = config.gtk.iconTheme.name;
color_scheme_path = "/home/${config.userOptions.username}/.config/qt6ct/qt6ct.conf";
custom_palette = true;
standard_dialogs = "xdgdesktopportal";
};
Fonts = {
fixed = "\"${config.userOptions.fontMono.name},${toString config.userOptions.fontMono.size}\"";
general = "\"${config.userOptions.fontSans.name},${toString config.userOptions.fontSans.size}\"";
};
ColorScheme =
with config.scheme;
let
accent = config.scheme.withHashtag.${config.colors.accent};
mkColors = roles: builtins.concatStringsSep ", " (map (r: "#ff${r}") roles);
in
{
active_colors = mkColors [
base05
base01
base02
base01
base00
base10
base05
base05
base05
base00
base10
base11
accent
base00
accent
base0E
base10
"000000"
base00
base05
base03
accent
];
disabled_colors = mkColors [
base03
base01
base02
base01
base03
base10
base03
base05
base03
base01
base01
base10
base03
base05
"0000ff"
"ff00ff"
base01
"000000"
base01
base00
"80000000"
base03
];
inactive_colors = mkColors [
base05
base01
base02
base01
base00
base10
base05
base05
base05
base00
base10
base11
accent
base00
accent
base0E
base10
"000000"
base00
base05
base03
accent
];
};
};
};
}