1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-18 14:28:15 +00:00

qt: use home.sessionSearchVariables

This commit is contained in:
Thiago Kenji Okada 2025-03-09 12:55:55 +00:00 committed by Austin Horstman
parent ab56fd8db8
commit cf47e7ea21

View file

@ -228,13 +228,10 @@ in {
inherit (config.home) profileDirectory; inherit (config.home) profileDirectory;
qtVersions = with pkgs; [ qt5 qt6 ]; qtVersions = with pkgs; [ qt5 qt6 ];
makeQtPath = prefix: makeQtPath = prefix:
lib.concatStringsSep ":"
(map (qt: "${profileDirectory}/${qt.qtbase.${prefix}}") qtVersions); (map (qt: "${profileDirectory}/${qt.qtbase.${prefix}}") qtVersions);
in { in {
QT_PLUGIN_PATH = "$QT_PLUGIN_PATH\${QT_PLUGIN_PATH:+:}" QT_PLUGIN_PATH = makeQtPath "qtPluginPrefix";
+ (makeQtPath "qtPluginPrefix"); QML2_IMPORT_PATH = makeQtPath "qtQmlPrefix";
QML2_IMPORT_PATH = "$QML2_IMPORT_PATH\${QML2_IMPORT_PATH:+:}"
+ (makeQtPath "qtQmlPrefix");
}; };
in lib.mkIf cfg.enable { in lib.mkIf cfg.enable {
@ -258,19 +255,14 @@ in {
home = { home = {
sessionVariables = envVars; sessionVariables = envVars;
# home.sessionVariables does not support setting the same environment sessionSearchVariables = envVarsExtra;
# variable to different values.
# Since some other modules may set the QT_PLUGIN_PATH or QML2_IMPORT_PATH
# to their own value, e.g.: fcitx5, we avoid conflicts by setting
# the values in home.sessionVariablesExtra instead.
sessionVariablesExtra = ''
export QT_PLUGIN_PATH=${envVarsExtra.QT_PLUGIN_PATH}
export QML2_IMPORT_PATH=${envVarsExtra.QML2_IMPORT_PATH}
'';
}; };
# Apply theming also to apps started by systemd. # Apply theming also to apps started by systemd.
systemd.user.sessionVariables = envVars // envVarsExtra; systemd.user.sessionVariables = envVars // {
QT_PLUGIN_PATH = lib.concatStringsSep ":" envVarsExtra.QT_PLUGIN_PATH;
QML2_IMPORT_PATH = lib.concatStringsSep ":" envVarsExtra.QML2_IMPORT_PATH;
};
home.packages = (lib.findFirst (x: x != [ ]) [ ] [ home.packages = (lib.findFirst (x: x != [ ]) [ ] [
(lib.optionals (platformTheme.package != null) (lib.optionals (platformTheme.package != null)