nixpkgs/pkgs/tools/misc/vial/default.nix
2023-09-13 07:29:45 +00:00

36 lines
1.2 KiB
Nix

{ lib, fetchurl, appimageTools }:
let
name = "vial-${version}";
version = "0.7.1";
pname = "Vial";
src = fetchurl {
url = "https://github.com/vial-kb/vial-gui/releases/download/v${version}/${pname}-v${version}-x86_64.AppImage";
hash = "sha256-pOcrxZ6vbnbdE/H4Kxufxm/ZovaYBXjFpVpKZYV7f3c=";
};
appimageContents = appimageTools.extractType2 { inherit name src; };
in
appimageTools.wrapType2 {
inherit name src;
extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
cp -r ${appimageContents}/usr/share/icons $out/share
mkdir -p $out/etc/udev/rules.d/ # https://get.vial.today/getting-started/linux-udev.html
echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0666", TAG+="uaccess", TAG+="udev-acl"' > $out/etc/udev/rules.d/92-viia.rules
'';
meta = {
description = "An Open-source GUI and QMK fork for configuring your keyboard in real time";
homepage = "https://get.vial.today";
license = lib.licenses.gpl2Plus;
mainProgram = "vial";
maintainers = with lib.maintainers; [ kranzes ];
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}