forked from pub-solar/os
32 lines
847 B
Nix
32 lines
847 B
Nix
|
{
|
||
|
lib,
|
||
|
config,
|
||
|
pkgs,
|
||
|
...
|
||
|
}:
|
||
|
with lib; let
|
||
|
psCfg = config.pub-solar;
|
||
|
cfg = config.pub-solar.uhk;
|
||
|
in {
|
||
|
options.pub-solar.uhk = {
|
||
|
enable = mkEnableOption "Ultimate Hacking Keyboard";
|
||
|
};
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
environment.systemPackages = with pkgs; [
|
||
|
uhk-agent
|
||
|
];
|
||
|
|
||
|
# Ultimate Hacking Keyboard rules
|
||
|
# These are the udev rules for accessing the USB interfaces of the UHK as non-root users.
|
||
|
services.udev.packages = with pkgs; [
|
||
|
uhk-agent
|
||
|
];
|
||
|
services.udev.extraRules = ''
|
||
|
SUBSYSTEM=="input", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", GROUP="input", MODE="0660"
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", TAG+="uaccess"
|
||
|
KERNEL=="hidraw*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", TAG+="uaccess"
|
||
|
'';
|
||
|
};
|
||
|
}
|