- packages.nix is the baseline: drop neovim (nixvim), nvd, sof-firmware (enableAllFirmware), qtmultimedia (v4 leftover); vial moves to vial.nix, wl-clipboard to noctalia.nix, claude-code becomes a plain package here - drop packages and options already provided elsewhere: noctalia (home-manager), gnupg/pinentry-qt (agent), gtk/qt themes, sddm Theme.Current, zsh plugins (home-manager), group = users, empty firewall lists - single-package lists without `with pkgs;`, steam package inside its block Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 lines
713 B
Nix
22 lines
713 B
Nix
# Vial keyboards (lily58 pro r2g) expose a raw HID interface that vial.rocks
|
|
# drives over WebHID; its /dev/hidraw* node is root-only by default.
|
|
# The rule ships as 60-vial.rules because uaccess is only applied by
|
|
# 73-seat-late.rules, and services.udev.extraRules lands at 99, too late.
|
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
services.udev.packages = [
|
|
(pkgs.writeTextFile {
|
|
name = "vial-udev-rules";
|
|
destination = "/lib/udev/rules.d/60-vial.rules";
|
|
# the magic serial matches any vial board; uaccess grants the seat owner
|
|
text = ''
|
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", TAG+="uaccess"
|
|
'';
|
|
})
|
|
];
|
|
|
|
environment.systemPackages = [ pkgs.vial ];
|
|
}
|