From 94805a3d21e407908ebf1d6de7d21028f01776db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 29 Mar 2024 15:33:46 +0100 Subject: [PATCH] nixos/partition-manager: use qt6 when plasma6 is activated This also fixes System Settings > Windows Shares complaining about the wrong QT version under Plasma6. --- nixos/modules/programs/partition-manager.nix | 14 ++++++++++---- .../modules/services/desktop-managers/plasma6.nix | 1 + pkgs/applications/kde/partitionmanager/default.nix | 5 ++++- pkgs/kde/gear/partitionmanager/default.nix | 5 +++++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/nixos/modules/programs/partition-manager.nix b/nixos/modules/programs/partition-manager.nix index bb7c91c941e2..63b637f9952b 100644 --- a/nixos/modules/programs/partition-manager.nix +++ b/nixos/modules/programs/partition-manager.nix @@ -1,15 +1,21 @@ { config, lib, pkgs, ... }: -{ +let + cfg = config.programs.partition-manager; +in { meta.maintainers = [ lib.maintainers.oxalica ]; options = { - programs.partition-manager.enable = lib.mkEnableOption (lib.mdDoc "KDE Partition Manager"); + programs.partition-manager = { + enable = lib.mkEnableOption (lib.mdDoc "KDE Partition Manager"); + + package = lib.mkPackageOption pkgs [ "libsForQt5" "partitionmanager" ] { }; + }; }; config = lib.mkIf config.programs.partition-manager.enable { - services.dbus.packages = [ pkgs.libsForQt5.kpmcore ]; + services.dbus.packages = [ cfg.package.kpmcore ]; # `kpmcore` need to be installed to pull in polkit actions. - environment.systemPackages = [ pkgs.libsForQt5.kpmcore pkgs.libsForQt5.partitionmanager ]; + environment.systemPackages = [ cfg.package.kpmcore cfg.package ]; }; } diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix index e20b431f0b58..5f1f2cec79e8 100644 --- a/nixos/modules/services/desktop-managers/plasma6.nix +++ b/nixos/modules/services/desktop-managers/plasma6.nix @@ -286,6 +286,7 @@ in { }; programs.kdeconnect.package = kdePackages.kdeconnect-kde; + programs.partition-manager.package = kdePackages.partitionmanager; # FIXME: ugly hack. See #292632 for details. system.userActivationScripts.rebuildSycoca = activationScript; diff --git a/pkgs/applications/kde/partitionmanager/default.nix b/pkgs/applications/kde/partitionmanager/default.nix index a898984d4502..90adde782c7f 100644 --- a/pkgs/applications/kde/partitionmanager/default.nix +++ b/pkgs/applications/kde/partitionmanager/default.nix @@ -1,5 +1,4 @@ { mkDerivation -, fetchurl , lib , extra-cmake-modules , kdoctools @@ -80,6 +79,10 @@ mkDerivation { ) ''; + passthru = { + inherit kpmcore; + }; + meta = with lib; { description = "KDE Partition Manager"; longDescription = '' diff --git a/pkgs/kde/gear/partitionmanager/default.nix b/pkgs/kde/gear/partitionmanager/default.nix index 3d0215cb5e64..68cb09a01a5a 100644 --- a/pkgs/kde/gear/partitionmanager/default.nix +++ b/pkgs/kde/gear/partitionmanager/default.nix @@ -6,5 +6,10 @@ mkKdeDerivation { pname = "partitionmanager"; propagatedUserEnvPkgs = [kpmcore]; + + passthru = { + inherit kpmcore; + }; + meta.mainProgram = "partitionmanager"; }