2024-01-27 15:18:56 +00:00
|
|
|
{ config, ... }:
|
2023-09-10 00:01:39 +00:00
|
|
|
{
|
2024-01-27 15:18:56 +00:00
|
|
|
sane.programs.playerctl = {
|
|
|
|
sandbox.method = "bwrap";
|
2024-02-28 17:35:40 +00:00
|
|
|
sandbox.wrapperType = "inplace"; #< /lib/pkgconfig/playerctl.pc refers to $out by full path
|
2024-02-13 11:58:12 +00:00
|
|
|
sandbox.whitelistDbus = [ "user" ]; # notifications
|
|
|
|
|
2024-01-27 15:18:56 +00:00
|
|
|
services.playerctld = {
|
|
|
|
description = "playerctl daemon to keep track of which MPRIS players were recently active";
|
|
|
|
documentation = [ "https://github.com/altdesktop/playerctl/issues/161" ];
|
2024-02-02 14:21:57 +00:00
|
|
|
wantedBy = [ "default.target" ]; #< TODO: maybe better to zero `wantedBy` here and have the specific consumers (e.g. swaync) explicitly depend on this.
|
2024-01-27 15:18:56 +00:00
|
|
|
serviceConfig.ExecStart = "${config.sane.programs.playerctl.package}/bin/playerctld";
|
|
|
|
# serviceConfig.Type = "dbus";
|
|
|
|
# serviceConfig.BusName = "org.mpris.MediaPlayer2.Player";
|
|
|
|
serviceConfig.Type = "simple"; # playerctl also supports a --daemon option, idk if that's better
|
|
|
|
serviceConfig.Restart = "on-failure";
|
|
|
|
serviceConfig.RestartSec = "10s";
|
|
|
|
};
|
2023-09-10 00:01:39 +00:00
|
|
|
};
|
|
|
|
}
|