From 32e5e90b169038c955134c597810e051f40f4fc5 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Sat, 20 Apr 2024 13:42:51 -0400 Subject: [PATCH] feat(binto): add logitech mouse --- devices/binto/default.nix | 1 + flake.lock | 38 +++++++++++++++++++++++++++++++++++++ flake.nix | 8 ++++++++ modules/hyprland/inputs.nix | 5 +++-- modules/logitech.nix | 30 +++++++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 modules/logitech.nix diff --git a/devices/binto/default.nix b/devices/binto/default.nix index b4429e1..41ba361 100644 --- a/devices/binto/default.nix +++ b/devices/binto/default.nix @@ -11,6 +11,7 @@ in { ../../modules/kmscon.nix ../../modules/printer.nix ../../modules/razer.nix + ../../modules/logitech.nix ../../modules/sshd.nix ../../modules/tailscale.nix diff --git a/flake.lock b/flake.lock index f4dd131..f32d85e 100644 --- a/flake.lock +++ b/flake.lock @@ -204,6 +204,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -1486,6 +1502,7 @@ "pointer-event-src": "pointer-event-src", "pokemon-colorscripts-src": "pokemon-colorscripts-src", "secrets": "secrets", + "solaar": "solaar", "subsync": "subsync", "touch-gestures-src": "touch-gestures-src", "trash-d-src": "trash-d-src", @@ -1530,6 +1547,27 @@ "url": "ssh://git@git.nelim.org/matt1432/nixos-secrets" } }, + "solaar": { + "inputs": { + "flake-compat": "flake-compat_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713515557, + "narHash": "sha256-n9I+GyQP19CsXPAOrAFOMTn8n4UIuzt0a1k5XfiVFQI=", + "owner": "Svenum", + "repo": "Solaar-Flake", + "rev": "c0dfdaa082ed084dd08a7f09c48f783e4fddccbe", + "type": "github" + }, + "original": { + "owner": "Svenum", + "repo": "Solaar-Flake", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": "nixpkgs_9", diff --git a/flake.nix b/flake.nix index f196dda..100149d 100644 --- a/flake.nix +++ b/flake.nix @@ -252,6 +252,14 @@ inputs.hyprland.follows = "hyprland"; }; + solaar = { + type = "github"; + owner = "Svenum"; + repo = "Solaar-Flake"; + + inputs.nixpkgs.follows = "nixpkgs"; + }; + ags = { type = "github"; owner = "Aylur"; diff --git a/modules/hyprland/inputs.nix b/modules/hyprland/inputs.nix index 9521452..bda3c5c 100644 --- a/modules/hyprland/inputs.nix +++ b/modules/hyprland/inputs.nix @@ -7,7 +7,7 @@ inherit (osConfig.services.xserver) xkb; inherit (osConfig.vars) mainMonitor; - nagaProNames = [ + miceNames = [ # Wireless "razer-razer-naga-pro" @@ -17,6 +17,7 @@ "razer-naga-pro-1" "razer-naga-pro-2" "razer-naga-pro-3" + "logitech-g502-hero-gaming-mouse" ]; nagaConf = name: { inherit name; @@ -26,7 +27,7 @@ in { wayland.windowManager.hyprland = { settings = { - device = map (d: (nagaConf d)) nagaProNames; + device = map (d: (nagaConf d)) miceNames; input = { kb_layout = xkb.layout; diff --git a/modules/logitech.nix b/modules/logitech.nix new file mode 100644 index 0000000..a9efe0b --- /dev/null +++ b/modules/logitech.nix @@ -0,0 +1,30 @@ +{ + config, + lib, + solaar, + ... +}: let + inherit (config.vars) mainUser; + inherit (lib) mkIf; + cfgHypr = + config + .home-manager + .users + .${mainUser} + .wayland + .windowManager + .hyprland; +in { + imports = [ + solaar.nixosModules.default + ]; + + programs.solaar.enable = true; + + # HOME-MANAGER CONFIG + home-manager.users.${mainUser} = { + wayland.windowManager.hyprland = mkIf (cfgHypr.enable) { + settings.exec-once = ["solaar -w hide -b symbolic"]; + }; + }; +}