63 lines
1.6 KiB
Nix
63 lines
1.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib; let
|
|
theme = {
|
|
package = pkgs.gruvbox-gtk-theme;
|
|
name = "Gruvbox-Dark-BL";
|
|
};
|
|
cfg = config.modules.style.qt;
|
|
inherit (config.modules.other.system) username;
|
|
in {
|
|
config = mkIf cfg.enable {
|
|
environment.sessionVariables = {QT_QPA_PLATFORMTHEME = "qt5ct";};
|
|
|
|
environment.variables = {
|
|
QT_STYLE_OVERRIDE = lib.mkForce "kvantum";
|
|
GTK_THEME = theme.name;
|
|
};
|
|
|
|
home-manager.users.${username} = {
|
|
# This is taken from jacekpoz, thanks a lot!
|
|
qt = {
|
|
enable = true;
|
|
style = {
|
|
inherit (cfg) name;
|
|
package = cfg.package.override {
|
|
flavour = [cfg.variant];
|
|
accents = [cfg.accentColor];
|
|
};
|
|
};
|
|
};
|
|
home = {
|
|
packages = with pkgs; [
|
|
qt5.qttools
|
|
qt6Packages.qtstyleplugin-kvantum
|
|
libsForQt5.qtstyleplugin-kvantum
|
|
libsForQt5.qt5ct
|
|
breeze-icons
|
|
];
|
|
|
|
sessionVariables = {
|
|
# Scaling factor for QT applications
|
|
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
|
|
|
# Use wayland as the default backend, fall back to xcb if not available
|
|
QT_QPA_PLATFORM = "wayland;xcb";
|
|
|
|
# Disable window decorations for qt applications
|
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
|
|
|
# Remain compatible with QT5 whenever possible
|
|
DISABLE_QT_COMPAT = "0";
|
|
|
|
# Tell Calibre to use the dark theme, because the light one hurts my eyes.
|
|
CALIBRE_USE_DARK_PALETTE = "1";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|