48 lines
1.2 KiB
Nix
48 lines
1.2 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
cfg = config.custom.hardware.wooting;
|
|
in
|
|
{
|
|
options.custom.hardware.wooting = {
|
|
enable = mkEnableOption "Enable wooting hardware support";
|
|
};
|
|
|
|
config =
|
|
let
|
|
wooting-udev = pkgs.stdenv.mkDerivation rec {
|
|
pname = "wooting-udev-rules";
|
|
version = "unstable-2023-03-31";
|
|
|
|
# Source: https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/
|
|
src = [ ./wooting.rules ];
|
|
|
|
dontUnpack = true;
|
|
|
|
installPhase = ''
|
|
install -Dpm644 $src $out/lib/udev/rules.d/70-wooting.rules
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://help.wooting.io/en/article/wootility-configuring-device-access-for-wootility-under-linux-udev-rules-r6lb2o/";
|
|
description = "udev rules that give NixOS permission to communicate with Wooting keyboards";
|
|
platforms = platforms.linux;
|
|
license = "unknown";
|
|
maintainers = with maintainers; [ davidtwco ];
|
|
};
|
|
};
|
|
in
|
|
mkIf cfg.enable {
|
|
services.udev.packages = [ wooting-udev ];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
#wootility
|
|
];
|
|
};
|
|
}
|