From fff5204e5dbe8403d5ad1816c183f7b663d9fe1d Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Sun, 19 Nov 2023 12:35:28 +0000 Subject: [PATCH] qt: fix basic usage when just `qt.enable = true` is set --- modules/misc/qt.nix | 13 ++++++++----- tests/modules/misc/qt/default.nix | 1 + tests/modules/misc/qt/qt-basic.nix | 14 ++++++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 tests/modules/misc/qt/qt-basic.nix diff --git a/modules/misc/qt.nix b/modules/misc/qt.nix index 495841ea..90fdd140 100644 --- a/modules/misc/qt.nix +++ b/modules/misc/qt.nix @@ -159,8 +159,10 @@ in { # Necessary because home.sessionVariables doesn't support mkIf envVars = lib.filterAttrs (n: v: v != null) { - QT_QPA_PLATFORMTHEME = - styleNames.${cfg.platformTheme} or cfg.platformTheme; + QT_QPA_PLATFORMTHEME = if (cfg.platformTheme != null) then + styleNames.${cfg.platformTheme} or cfg.platformTheme + else + null; QT_STYLE_OVERRIDE = cfg.style.name; }; @@ -206,9 +208,10 @@ in { # Apply theming also to apps started by systemd. systemd.user.sessionVariables = envVars // envVarsExtra; - home.packages = (platformPackages.${cfg.platformTheme} or [ ]) - ++ lib.optionals (cfg.style.package != null) - (lib.toList cfg.style.package); + home.packages = (lib.optionals (cfg.platformTheme != null) + platformPackages.${cfg.platformTheme}) + ++ (lib.optionals (cfg.style.package != null) + (lib.toList cfg.style.package)); xsession.importedVariables = [ "QT_PLUGIN_PATH" "QML2_IMPORT_PATH" ] ++ lib.optionals (cfg.platformTheme != null) [ "QT_QPA_PLATFORMTHEME" ] diff --git a/tests/modules/misc/qt/default.nix b/tests/modules/misc/qt/default.nix index c676b784..44b6b96c 100644 --- a/tests/modules/misc/qt/default.nix +++ b/tests/modules/misc/qt/default.nix @@ -1,4 +1,5 @@ { + qt-basic = ./qt-basic.nix; qt-platform-theme-gtk = ./qt-platform-theme-gtk.nix; qt-platform-theme-gnome = ./qt-platform-theme-gnome.nix; } diff --git a/tests/modules/misc/qt/qt-basic.nix b/tests/modules/misc/qt/qt-basic.nix new file mode 100644 index 00000000..9ddddb35 --- /dev/null +++ b/tests/modules/misc/qt/qt-basic.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +{ + config = { + qt.enable = true; + + nmt.script = '' + assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \ + 'QT_PLUGIN_PATH' + assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \ + 'QML2_IMPORT_PATH' + ''; + }; +}