nix/modules/logiops.nix
2025-12-02 13:44:20 +01:00

41 lines
1.1 KiB
Nix

{ config, pkgs, lib, ... }:
{
environment.etc."logid.cfg".text = ''
devices: ({
name: "MX Master 3 for Mac";
thumbwheel: {
invert: true;
divert: false;
};
});
'';
systemd.services.logiops = {
description = "Logitech Configuration Daemon";
wantedBy = [ "graphical.target" ];
after = [ "graphical.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.logiops}/bin/logid";
Restart = "on-failure";
RestartSec = 5;
};
};
systemd.services.logiops-resume = {
description = "Restart logiops after resume";
after = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" ];
wantedBy = [ "suspend.target" "hibernate.target" "hybrid-sleep.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${config.systemd.package}/bin/systemctl --no-block restart logiops.service";
};
};
services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="input", ATTRS{id/vendor}=="046d", RUN{program}="${config.systemd.package}/bin/systemctl --no-block try-restart logiops.service"
'';
}