diff --git a/modules/misc/qt.nix b/modules/misc/qt.nix index 4c289522f..cdc0283d6 100644 --- a/modules/misc/qt.nix +++ b/modules/misc/qt.nix @@ -38,7 +38,7 @@ in { enable = mkEnableOption "Qt 4 and 5 configuration"; platformTheme = mkOption { - type = types.nullOr (types.enum [ "gtk" "gnome" ]); + type = types.nullOr (types.enum [ "gtk" "gnome" "kde" ]); default = null; example = "gnome"; relatedPackages = @@ -59,6 +59,10 @@ in { qgnomeplatform + + kde + Use Qt settings from Plasma + ''; }; @@ -134,14 +138,17 @@ in { # Necessary because home.sessionVariables doesn't support mkIf home.sessionVariables = filterAttrs (n: v: v != null) { QT_QPA_PLATFORMTHEME = - if cfg.platformTheme == "gnome" then "gnome" else "gtk2"; + if cfg.platformTheme == "gtk" then "gtk2" else cfg.platformTheme; QT_STYLE_OVERRIDE = cfg.style.name; }; home.packages = if cfg.platformTheme == "gnome" then [ pkgs.qgnomeplatform ] ++ lib.optionals (cfg.style.package != null) [ cfg.style.package ] - else + else if cfg.platformTheme == "kde" then [ + pkgs.libsForQt5.plasma-integration + pkgs.libsForQt5.systemsettings + ] else [ pkgs.libsForQt5.qtstyleplugins ]; xsession.importedVariables = [ "QT_QPA_PLATFORMTHEME" ]