diff options
author | tv <tv@krebsco.de> | 2023-03-02 09:20:37 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2023-03-02 09:20:37 +0100 |
commit | 03a9448a0922fcf158c4357922bed689245105e3 (patch) | |
tree | 7dbedf90d0443bd1e375aac61f63735f43e64984 /lass/2configs/antimicrox/default.nix | |
parent | 177fd1eeec05f0821f1ccc63733b3e0fd5aed7b6 (diff) | |
parent | 8639d428c2e9f2190ec4e4b5dd931f24a4166f36 (diff) |
Merge remote-tracking branch 'prism/master' into head
Diffstat (limited to 'lass/2configs/antimicrox/default.nix')
-rw-r--r-- | lass/2configs/antimicrox/default.nix | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lass/2configs/antimicrox/default.nix b/lass/2configs/antimicrox/default.nix new file mode 100644 index 000000000..16f546ce6 --- /dev/null +++ b/lass/2configs/antimicrox/default.nix @@ -0,0 +1,33 @@ +{ config, lib, pkgs, ... }: +{ + systemd.services.antimicrox = { + wantedBy = [ "multi-user.target" ]; + environment = { + DISPLAY = ":0"; + }; + serviceConfig = { + User = config.users.users.mainUser.name; + ExecStartPre = lib.singleton (pkgs.writeDash "init_state" "echo 0 > /tmp/gamepad.state"); + ExecStart = "${pkgs.antimicrox}/bin/antimicrox --no-tray --hidden --profile ${./mouse.amgp}"; + }; + }; + + environment.systemPackages = [ + (pkgs.writers.writeDashBin "gamepad_mouse_disable" '' + echo 1 > /tmp/gamepad.state + ${pkgs.antimicrox}/bin/antimicrox --profile ${./empty.amgp} + '') + (pkgs.writers.writeDashBin "gamepad_mouse_enable" '' + echo 0 > /tmp/gamepad.state + ${pkgs.antimicrox}/bin/antimicrox --profile ${./mouse.amgp} + '') + (pkgs.writers.writeDashBin "gamepad_mouse_toggle" '' + state=$(${pkgs.coreutils}/bin/cat /tmp/gamepad.state) + if [ "$state" = 1 ]; then + /run/current-system/sw/bin/gamepad_mouse_enable + else + /run/current-system/sw/bin/gamepad_mouse_disable + fi + '') + ]; +} |