nixpkgs/pkgs/os-specific/linux/uhk-agent/default.nix
Niklaus Giger 1d82f62aef
UHK-agent: Support for Ultimate Hacking Keyboard udev-rules and configuration application (#132420)
* maintainers: add ngiger

* uhk-agent: init at 1.5.17

* Apply suggestions from code review

* Update pkgs/os-specific/linux/uhk-agent/default.nix

* Apply suggestions from code review

* Update pkgs/os-specific/linux/uhk-agent/default.nix

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-05-08 22:40:52 +02:00

40 lines
1.4 KiB
Nix

{ appimageTools, lib, fetchurl, polkit, udev }:
let
pname = "uhk-agent";
version = "1.5.17";
src = fetchurl {
url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage";
name = "${pname}-${version}.AppImage";
sha256 = "sha256-auOoTTRmkXVDDvcmRFzQIStNlbai8bTBLb/KUjk6EAc=";
};
appimageContents = appimageTools.extract {
name = "${pname}-${version}";
inherit src;
};
in appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: with pkgs; [ polkit udev ];
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
install -m 644 -D ${appimageContents}/resources/rules/50-uhk60.rules $out/rules/50-uhk60.rules
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
cp -r ${appimageContents}/usr/share/icons $out/share
'';
# wrapType2 does not passthru pname+version
passthru.version = version;
meta = with lib; {
description = "Agent is the configuration application of the Ultimate Hacking Keyboard";
homepage = "https://github.com/UltimateHackingKeyboard/agent";
license = licenses.unfreeRedistributable;
maintainers = with maintainers; [ ngiger ];
platforms = [ "x86_64-linux" ];
};
}