nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchurl,
4 appimageTools,
5}:
6let
7 version = "0.7.3";
8 pname = "Vial";
9
10 src = fetchurl {
11 url = "https://github.com/vial-kb/vial-gui/releases/download/v${version}/${pname}-v${version}-x86_64.AppImage";
12 hash = "sha256-tdSJjmf1IUQ1S7V90dTVgWJDOAuBsiUTUz0QV6LPlqo=";
13 };
14
15 appimageContents = appimageTools.extractType2 { inherit pname version src; };
16in
17appimageTools.wrapType2 {
18 inherit pname version src;
19
20 extraInstallCommands = ''
21 install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
22 cp -r ${appimageContents}/usr/share/icons $out/share
23
24 mkdir -p $out/etc/udev/rules.d/ # https://get.vial.today/getting-started/linux-udev.html
25 echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0666", TAG+="uaccess", TAG+="udev-acl"' > $out/etc/udev/rules.d/92-viia.rules
26 '';
27
28 meta = {
29 description = "Open-source GUI and QMK fork for configuring your keyboard in real time";
30 homepage = "https://get.vial.today";
31 license = lib.licenses.gpl2Plus;
32 mainProgram = "Vial";
33 maintainers = with lib.maintainers; [ kranzes ];
34 platforms = [ "x86_64-linux" ];
35 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
36 };
37}