playerctl: manual config generation

This commit is contained in:
Zynh Ludwig 2024-07-12 17:15:01 -07:00
parent 5f311c05f3
commit c5ae0732e4

View file

@ -2,6 +2,15 @@
let
cfg = config.snowhawk.playerctl;
sxhkdCfg = config.services.sxhkd;
keybindingsStr = lib.concatStringsSep "\n" (lib.mapAttrsToList
(hotkey: command:
lib.optionalString (command != null) ''
${hotkey}
${command}
'')
sxhkdCfg.keybindings);
in
{
options.snowhawk.playerctl = {
@ -30,12 +39,13 @@ in
};
};
xdg.configFile."sxhkd/sxhkdrc".text = keybindingsStr;
services.sxhkd =
let
playerctlcmd = "${pkgs.playerctl}/bin/playerctl";
in
{
enable = true;
keybindings = {
"XF86AudioPlay" = "${playerctlcmd} play-pause";
"XF86AudioPrev" = "${playerctlcmd} previous";