{ pkgs, ... }:
let
  process-media-controls = pkgs.writeText "process-media-controls"
    (builtins.readFile ./process-media-controls.py);
in {
  systemd.services.process-media-controls = {
    requires = [ "network.target" "pulseaudio.service" ];
    after = [ "network.target" "pulseaudio.service" ];
    wantedBy = [ "multi-user.target" ];
    path = [ pkgs.pulseaudio ];
    script = let
      python = pkgs.python39.withPackages
        (ps: with ps; [ pkgs.python39Packages.evdev ]);
    in ''
      export PULSE_SERVER=127.0.0.1
      (${python.interpreter} ${process-media-controls}) || true
    '';
    serviceConfig = {
      Restart = "always";
      StartLimitAction = "none";
    };
  };
}