Skip to content

Commit 67bdaab

Browse files
wootility: 4.6.21 -> 4.7.2; wooting-udev-rules: update to latest recommended rules (NixOS#357836)
2 parents 6a9c49f + 65216ff commit 67bdaab

File tree

4 files changed

+37
-108
lines changed

4 files changed

+37
-108
lines changed

nixos/modules/hardware/wooting.nix

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{ config, lib, pkgs, ... }:
22
{
3-
options.hardware.wooting.enable = lib.mkEnableOption ''support for Wooting keyboards.
4-
Note that users must be in the "input" group for udev rules to apply'';
3+
options.hardware.wooting.enable = lib.mkEnableOption "support for Wooting keyboards";
54

65
config = lib.mkIf config.hardware.wooting.enable {
76
environment.systemPackages = [ pkgs.wootility ];
Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
{ appimageTools
2-
, fetchurl
3-
, lib
4-
, makeWrapper
1+
{
2+
appimageTools,
3+
fetchurl,
4+
lib,
5+
makeWrapper,
56
}:
67

78
let
89
pname = "wootility";
9-
version = "4.6.21";
10+
version = "4.7.2";
1011
src = fetchurl {
1112
url = "https://s3.eu-west-2.amazonaws.com/wooting-update/wootility-lekker-linux-latest/wootility-lekker-${version}.AppImage";
12-
sha256 = "sha256-ockTQLZWbYvsLzv+D0exD5W/yMaIdse4/JQshbkVzAU=";
13+
sha256 = "sha256-2xIiSMFyJjmjBQ6GJYtc0VbZkTadV2Ov/mXQcJ8yq2U=";
1314
};
1415
in
1516

@@ -19,8 +20,10 @@ appimageTools.wrapType2 {
1920
nativeBuildInputs = [ makeWrapper ];
2021

2122
extraInstallCommands =
22-
let contents = appimageTools.extract { inherit pname version src; };
23-
in ''
23+
let
24+
contents = appimageTools.extract { inherit pname version src; };
25+
in
26+
''
2427
wrapProgram $out/bin/wootility \
2528
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
2629
@@ -35,16 +38,21 @@ appimageTools.wrapType2 {
3538
export LC_ALL=C.UTF-8
3639
'';
3740

38-
extraPkgs = pkgs: with pkgs; ([
39-
xorg.libxkbfile
40-
]);
41+
extraPkgs =
42+
pkgs: with pkgs; ([
43+
xorg.libxkbfile
44+
]);
4145

4246
meta = {
4347
homepage = "https://wooting.io/wootility";
4448
description = "Customization and management software for Wooting keyboards";
4549
platforms = lib.platforms.linux;
4650
license = lib.licenses.unfree;
47-
maintainers = with lib.maintainers; [ davidtwco sodiboo ];
51+
maintainers = with lib.maintainers; [
52+
davidtwco
53+
sodiboo
54+
returntoreality
55+
];
4856
mainProgram = "wootility";
4957
};
5058
}

pkgs/by-name/wo/wooting-udev-rules/package.nix

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
stdenv.mkDerivation rec {
44
pname = "wooting-udev-rules";
5-
version = "unstable-2023-03-31";
5+
version = "0-unstable-2024-11-20";
66

7-
# Source: https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/
7+
# Source: https://help.wooting.io/article/147-configuring-device-access-for-wootility-under-linux-udev-rules
88
src = [ ./wooting.rules ];
99

1010
dontUnpack = true;
@@ -14,10 +14,13 @@ stdenv.mkDerivation rec {
1414
'';
1515

1616
meta = with lib; {
17-
homepage = "https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/";
17+
homepage = "https://help.wooting.io/article/147-configuring-device-access-for-wootility-under-linux-udev-rules";
1818
description = "udev rules that give NixOS permission to communicate with Wooting keyboards";
1919
platforms = platforms.linux;
2020
license = "unknown";
21-
maintainers = with maintainers; [ davidtwco ];
21+
maintainers = with maintainers; [
22+
davidtwco
23+
returntoreality
24+
];
2225
};
2326
}
Lines changed: 9 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,15 @@
11
# Wooting One Legacy
2-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input"
3-
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", MODE:="0660", GROUP="input"
2+
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess"
3+
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff01", TAG+="uaccess"
44
# Wooting One update mode
5-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", MODE:="0660", GROUP="input"
5+
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2402", TAG+="uaccess"
66

77
# Wooting Two Legacy
8-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input"
9-
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", MODE:="0660", GROUP="input"
8+
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess"
9+
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="ff02", TAG+="uaccess"
1010
# Wooting Two update mode
11-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", MODE:="0660", GROUP="input"
11+
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2403", TAG+="uaccess"
1212

13-
# Wooting One
14-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1100", MODE:="0660", GROUP="input"
15-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1100", MODE:="0660", GROUP="input"
16-
# Wooting One Alt-gamepad mode
17-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660", GROUP="input"
18-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1101", MODE:="0660", GROUP="input"
19-
# Wooting One 2nd Alt-gamepad mode
20-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1102", MODE:="0660", GROUP="input"
21-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1102", MODE:="0660", GROUP="input"
22-
23-
# Wooting Two
24-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1200", MODE:="0660", GROUP="input"
25-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1200", MODE:="0660", GROUP="input"
26-
# Wooting Two Alt-gamepad mode
27-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1201", MODE:="0660", GROUP="input"
28-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1201", MODE:="0660", GROUP="input"
29-
# Wooting Two 2nd Alt-gamepad mode
30-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1202", MODE:="0660", GROUP="input"
31-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1202", MODE:="0660", GROUP="input"
32-
33-
# Wooting Lekker
34-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input"
35-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1210", MODE:="0660", GROUP="input"
36-
# Wooting Lekker Alt-gamepad mode
37-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1211", MODE:="0660", GROUP="input"
38-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1211", MODE:="0660", GROUP="input"
39-
# Wooting Lekker 2nd Alt-gamepad mode
40-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1212", MODE:="0660", GROUP="input"
41-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1212", MODE:="0660", GROUP="input"
42-
43-
# Wooting Lekker update mode
44-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="121f", MODE:="0660", GROUP="input"
45-
46-
# Wooting Two HE
47-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1220", MODE:="0660", GROUP="input"
48-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1220", MODE:="0660", GROUP="input"
49-
# Wooting Two HE Alt-gamepad mode
50-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1221", MODE:="0660", GROUP="input"
51-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1221", MODE:="0660", GROUP="input"
52-
# Wooting Two HE 2nd Alt-gamepad mode
53-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660", GROUP="input"
54-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1222", MODE:="0660", GROUP="input"
55-
56-
# Wooting Two HE update mode
57-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="122f", MODE:="0660", GROUP="input"
58-
59-
# Wooting Two HE (ARM)
60-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1230", MODE:="0660", GROUP="input"
61-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1230", MODE:="0660", GROUP="input"
62-
# Wooting Two HE Alt-gamepad mode
63-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1231", MODE:="0660", GROUP="input"
64-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1231", MODE:="0660", GROUP="input"
65-
# Wooting Two HE 2nd Alt-gamepad mode
66-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1232", MODE:="0660", GROUP="input"
67-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1232", MODE:="0660", GROUP="input"
68-
69-
# Wooting Two HE (ARM) update mode
70-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="123f", MODE:="0660", GROUP="input"
71-
72-
# Wooting 60HE
73-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1300", MODE:="0660", GROUP="input"
74-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1300", MODE:="0660", GROUP="input"
75-
# Wooting 60HE Alt-gamepad mode
76-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1301", MODE:="0660", GROUP="input"
77-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1301", MODE:="0660", GROUP="input"
78-
# Wooting 60HE 2nd Alt-gamepad mode
79-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1302", MODE:="0660", GROUP="input"
80-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1302", MODE:="0660", GROUP="input"
81-
82-
# Wooting 60HE update mode
83-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="130f", MODE:="0660", GROUP="input"
84-
85-
# Wooting 60HE (ARM)
86-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1310", MODE:="0660", GROUP="input"
87-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1310", MODE:="0660", GROUP="input"
88-
# Wooting 60HE (ARM) Alt-gamepad mode
89-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1311", MODE:="0660", GROUP="input"
90-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1311", MODE:="0660", GROUP="input"
91-
# Wooting 60HE (ARM) 2nd Alt-gamepad mode
92-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1312", MODE:="0660", GROUP="input"
93-
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="1312", MODE:="0660", GROUP="input"
94-
95-
# Wooting 60HE (ARM) update mode
96-
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", ATTRS{idProduct}=="131f", MODE:="0660", GROUP="input"
13+
# Generic Wootings
14+
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="31e3", TAG+="uaccess"
15+
SUBSYSTEM=="usb", ATTRS{idVendor}=="31e3", TAG+="uaccess"

0 commit comments

Comments
 (0)