Commit 6a299931 authored by Paul Stadig's avatar Paul Stadig
Browse files

xfce.xfce4-power-manager: use fixed path for helpers

Using a nix store path for `xfpm-power-backlight-helper` and `xfce4-pm-helper` causes permission
errors after a rebuild when adjusting brightness or putting the system to sleep, because the
permitted executables are different from the ones `xfce4-power-manager` wants to execute.  Using a
fixed path (/run/current-system/sw/bin) means the paths do not change after a rebuild, so there's no
permission error.

A similar approach is taken with gnome's `gsd-backlight-helper`.

Fixes #77485
parent 54b701f3
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -26,6 +26,14 @@ mkXfceDerivation {
    xfce4-panel
  ];

  # using /run/current-system/sw/bin instead of nix store path prevents polkit permission errors on
  # rebuild.  See https://github.com/NixOS/nixpkgs/issues/77485
  postPatch = ''
    substituteInPlace src/org.xfce.power.policy.in2 --replace "@sbindir@" "/run/current-system/sw/bin"
    substituteInPlace common/xfpm-brightness.c --replace "SBINDIR" "\"/run/current-system/sw/bin\""
    substituteInPlace src/xfpm-suspend.c --replace "SBINDIR" "\"/run/current-system/sw/bin\""
  '';

  meta = with lib; {
    description = "A power manager for the Xfce Desktop Environment";
    maintainers = with maintainers; [ ] ++ teams.xfce.members;