diff --git a/modules/hyprland/inputs.nix b/modules/hyprland/inputs.nix index 8476e125..88a75b6c 100644 --- a/modules/hyprland/inputs.nix +++ b/modules/hyprland/inputs.nix @@ -3,34 +3,44 @@ osConfig, ... }: let - inherit (lib) optionals; + inherit (lib) genAttrs optionals; inherit (osConfig.services.xserver) xkb; inherit (osConfig.vars) mainMonitor; - razerConf = { - sensitivity = -0.5; - accel_profile = "flat"; + nagaProNames = [ + # Wireless + "device:razer-razer-naga-pro" + + # Wired (it always changes) + "device:razer-razer-naga-pro-1" + "device:razer-naga-pro" + "device:razer-naga-pro-1" + "device:razer-naga-pro-2" + "device:razer-naga-pro-3" + ]; + nagaConf = { + sensitivity = 0; }; in { wayland.windowManager.hyprland = { - settings = { - input = { - kb_layout = xkb.layout; - kb_variant = xkb.variant; - follow_mouse = true; + settings = + (genAttrs nagaProNames (n: nagaConf)) + // { + input = { + kb_layout = xkb.layout; + kb_variant = xkb.variant; + follow_mouse = true; + accel_profile = "flat"; - touchpad = { - natural_scroll = true; - disable_while_typing = false; + touchpad = { + natural_scroll = true; + disable_while_typing = false; + }; }; + + exec-once = + optionals (! isNull mainMonitor) + ["hyprctl dispatch focusmonitor ${mainMonitor}"]; }; - - "device:razer-razer-naga-pro" = razerConf; - "device:razer-razer-naga-pro-1" = razerConf; - - exec-once = - optionals (! isNull mainMonitor) - ["hyprctl dispatch focusmonitor ${mainMonitor}"]; - }; }; }