summaryrefslogtreecommitdiffstats
path: root/lass/2configs/antimicrox/default.nix
diff options
context:
space:
mode:
authorlassulus <git@lassul.us>2023-02-19 10:01:55 +0100
committerlassulus <git@lassul.us>2023-02-19 10:01:55 +0100
commit92cfeace5435e09b203a1e4f91eee28bd5d198ce (patch)
treeeb27195e466452c783c3387802b6dff99649f72b /lass/2configs/antimicrox/default.nix
parent9e059195325e61e38a31a7905b1fe08656f49aba (diff)
l aergia.r: add antimicrox for gamepad mouse mode
Diffstat (limited to 'lass/2configs/antimicrox/default.nix')
-rw-r--r--lass/2configs/antimicrox/default.nix33
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
+ '')
+ ];
+}