add logiops module

This commit is contained in:
Yan Lin 2025-12-02 13:44:20 +01:00
parent 417453f2f3
commit 92d548938a
2 changed files with 42 additions and 0 deletions

View file

@ -8,6 +8,7 @@
../../../modules/tailscale.nix ../../../modules/tailscale.nix
../../../modules/login-display.nix ../../../modules/login-display.nix
../../../modules/borg/server.nix ../../../modules/borg/server.nix
../../../modules/logiops.nix
]; ];
# Bootloader - standard UEFI setup # Bootloader - standard UEFI setup

41
modules/logiops.nix Normal file
View file

@ -0,0 +1,41 @@
{ 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"
'';
}