plasma-panel-colorizer: fix presets not being listed, take 2 (#531830)

This commit is contained in:
Peder Bergebakken Sundt
2026-07-18 20:39:07 +00:00
committed by GitHub
2 changed files with 38 additions and 0 deletions
@@ -5,7 +5,16 @@
cmake,
kdePackages,
nix-update-script,
makeWrapper,
python3,
glib,
}:
let
pythonEnv = python3.withPackages (p: [
p.dbus-python
p.pygobject3
]);
in
stdenv.mkDerivation (finalAttrs: {
pname = "plasma-panel-colorizer";
@@ -21,12 +30,15 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
kdePackages.extra-cmake-modules
makeWrapper
];
buildInputs = [
kdePackages.plasma-desktop
];
propagatedUserEnvPkgs = [ glib ];
strictDeps = true;
cmakeFlags = [
@@ -39,12 +51,27 @@ stdenv.mkDerivation (finalAttrs: {
passthru.updateScript = nix-update-script { };
patches = [ ./use-dbus-service-directly.patch ];
postPatch = ''
substituteInPlace package/contents/ui/tools/service.py \
--replace-fail '#!/usr/bin/env python' '#!${lib.getExe pythonEnv}'
'';
postInstall = ''
chmod 755 $out/share/plasma/plasmoids/luisbocanegra.panel.colorizer/contents/ui/tools/{list_presets.sh,service.py}
wrapProgram $out/share/plasma/plasmoids/luisbocanegra.panel.colorizer/contents/ui/tools/service.py \
--prefix GI_TYPELIB_PATH : "${glib.out}/lib/girepository-1.0"
'';
meta = {
description = "Fully-featured widget to bring Latte-Dock and WM status bar customization features to the default KDE Plasma panel";
homepage = "https://github.com/luisbocanegra/plasma-panel-colorizer";
changelog = "https://github.com/luisbocanegra/plasma-panel-colorizer/blob/main/CHANGELOG.md";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ HeitorAugustoLN ];
sourceProvenance = [ lib.sourceTypes.fromSource ];
inherit (kdePackages.kwindowsystem.meta) platforms;
};
})
@@ -0,0 +1,11 @@
--- a/package/contents/ui/DBusServiceModel.qml
+++ b/package/contents/ui/DBusServiceModel.qml
@@ -8,7 +8,7 @@ Item {
property string toolsDir: Qt.resolvedUrl("./tools").toString().substring(7) + "/"
property string serviceUtil: toolsDir + "service.py"
property string pythonExecutable: plasmoid.configuration.pythonExecutable
- property string serviceCmd: pythonExecutable + " '" + serviceUtil + "' " + Plasmoid.containment.id + " " + Plasmoid.id
+ property string serviceCmd: serviceUtil + " " + Plasmoid.containment.id + " " + Plasmoid.id
readonly property string service: Plasmoid.metaData.pluginId + ".c" + Plasmoid.containment.id + ".w" + Plasmoid.id
readonly property string path: "/preset"