diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2021-06-09 15:27:27 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2021-06-09 15:27:27 +0200 |
| commit | 78e873009d1628562f71b452b4b4a79f315f69da (patch) | |
| tree | 4a8a1184c45cd7d6324b4e407dd19f6c116d8d2a /overlays | |
| parent | e2de9ddcb0a02c43d3a23201f34aae8be6553e4b (diff) | |
| download | nixos-78e873009d1628562f71b452b4b4a79f315f69da.tar nixos-78e873009d1628562f71b452b4b4a79f315f69da.tar.gz nixos-78e873009d1628562f71b452b4b4a79f315f69da.tar.bz2 nixos-78e873009d1628562f71b452b4b4a79f315f69da.tar.xz nixos-78e873009d1628562f71b452b4b4a79f315f69da.zip | |
sif: uhk-agent
Diffstat (limited to 'overlays')
| -rw-r--r-- | overlays/uhk-agent.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/overlays/uhk-agent.nix b/overlays/uhk-agent.nix new file mode 100644 index 00000000..3110c835 --- /dev/null +++ b/overlays/uhk-agent.nix | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | final: prev: | ||
| 2 | { | ||
| 3 | uhk-agent = | ||
| 4 | let | ||
| 5 | version = "1.5.14"; | ||
| 6 | |||
| 7 | image = prev.stdenv.mkDerivation { | ||
| 8 | name = "uhk-agent-image"; | ||
| 9 | src = prev.fetchurl { | ||
| 10 | url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage"; | ||
| 11 | hash = "sha256-D3sLjhWoeFVGgsFJo7/vsx4Dh8RsE+S6AA8z4Hsk8Ps="; | ||
| 12 | }; | ||
| 13 | buildCommand = '' | ||
| 14 | install -m 0644 $src $out | ||
| 15 | ''; | ||
| 16 | }; | ||
| 17 | |||
| 18 | appimage-run' = prev.appimage-run.override { | ||
| 19 | extraPkgs = p: with p; [ | ||
| 20 | at-spi2-core | ||
| 21 | ]; | ||
| 22 | }; | ||
| 23 | |||
| 24 | runScript = prev.writeShellScript "run-uhk-agent" '' | ||
| 25 | exec -- ${appimage-run'}/bin/appimage-run ${image} | ||
| 26 | ''; | ||
| 27 | |||
| 28 | udevRules = prev.writeText "uhk60.rules" '' | ||
| 29 | # Ultimate Hacking Keyboard rules | ||
| 30 | # These are the udev rules for accessing the USB interfaces of the UHK as non-root users. | ||
| 31 | # Copy this file to /etc/udev/rules.d and physically reconnect the UHK afterwards. | ||
| 32 | SUBSYSTEM=="input", GROUP="input", MODE="0664" | ||
| 33 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", MODE:="0664", GROUP="plugdev" | ||
| 34 | KERNEL=="hidraw*", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="612[0-7]", MODE:="0664", GROUP="plugdev" | ||
| 35 | ''; | ||
| 36 | in prev.runCommand "uhk-agent" {} '' | ||
| 37 | mkdir -p $out/bin $out/etc/udev/rules.d | ||
| 38 | install -m 0755 ${runScript} $out/bin/uhk-agent | ||
| 39 | install -m 0644 ${udevRules} $out/etc/udev/rules.d/50-uhk60.rules | ||
| 40 | ''; | ||
| 41 | } | ||
