{
  config,
  lib,
  pkgs,
  ...
}:

{
  imports = [ ];

  config = lib.mkIf config.me.graphical {
    environment.systemPackages = with pkgs; [
      system76-keyboard-configurator
      dfu-programmer # For flashing keyboard https://support.system76.com/articles/launch_2-firmware-update/
      avrdude # For flashing keyboard https://support.system76.com/articles/launch_2-firmware-update/
      lxqt.lxqt-policykit # Need a polkit agent to launch the keyboard configurator
    ];

    # TODO: Switch sway to using seatd instead of polkit
    systemd = {
      user.services.lxqt-policykit-agent = {
        description = "lxqt-policykit-agent";
        wantedBy = [ "graphical-session.target" ];
        wants = [ "graphical-session.target" ];
        after = [ "graphical-session.target" ];
        serviceConfig = {
          Type = "simple";
          ExecStart = "${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent";
          Restart = "on-failure";
          RestartSec = 1;
          TimeoutStopSec = 10;
        };
      };
    };
  };
}