feature(udev): add support for vial.rocks configurable devices and add the native app as well #69

Merged
aaron merged 1 commits from feature/lily58 into main 2026-08-09 14:27:03 +02:00
4 changed files with 16 additions and 0 deletions
+1
View File
@@ -25,6 +25,7 @@
../../modules/nixos/steam.nix ../../modules/nixos/steam.nix
../../modules/nixos/thunar.nix ../../modules/nixos/thunar.nix
../../modules/nixos/users.nix ../../modules/nixos/users.nix
../../modules/nixos/vial.nix
]; ];
# set hostname # set hostname
+1
View File
@@ -21,6 +21,7 @@
../../modules/nixos/settings.nix ../../modules/nixos/settings.nix
../../modules/nixos/steam.nix ../../modules/nixos/steam.nix
../../modules/nixos/users.nix ../../modules/nixos/users.nix
../../modules/nixos/vial.nix
]; ];
# set hostname # set hostname
+1
View File
@@ -35,6 +35,7 @@
tree tree
unzip unzip
usbutils usbutils
vial
vim vim
wget wget
which which
+13
View File
@@ -0,0 +1,13 @@
{ config, lib, pkgs, ... }:
{
# Vial-capable keyboards (lily58 pro r2g) expose a second, non-keyboard raw
# HID interface that vial.rocks drives over WebHID. Its /dev/hidraw* node is
# root-only by default, so chromium cannot open the device without this rule.
services.udev.extraRules = ''
# Vial firmware advertises itself through a magic USB serial, so this
# matches any vial board rather than just the lily58. uaccess hands the
# device to whoever owns the active seat, no group membership needed.
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", TAG+="uaccess"
'';
}