nixpkgs/pkgs/applications/misc/obinskit/default.nix
Benedict Aas 51fa3d374a obinskit: init at 1.1.1
This is the configuration software for the enthusiast Anne Pro mechanical
keyboard, used to update the firmware, change keyboard settings, clear
Bluetooth connections from the device, set up backlighting colours, and so
forth.
2020-03-14 15:29:56 -07:00

84 lines
2.1 KiB
Nix

{ lib
, stdenv
, fetchurl
, xorg
, libxkbcommon
, systemd
, gcc-unwrapped
, electron_3
, wrapGAppsHook
, makeDesktopItem
}:
let
libPath = lib.makeLibraryPath [
libxkbcommon
xorg.libXt
systemd.lib
stdenv.cc.cc.lib
];
desktopItem = makeDesktopItem rec {
name = "Obinskit";
exec = "obinskit";
icon = "obinskit.png";
desktopName = "Obinskit";
genericName = "Obinskit keyboard configurator";
categories = "Utility";
};
in stdenv.mkDerivation rec {
pname = "obinskit";
version = "1.1.1";
src = fetchurl {
url = "http://releases.obins.net/occ/linux/tar/ObinsKit_${version}_x64.tar.gz";
sha256 = "0052m4msslc4k9g3i5vl933cz5q2n1affxhnm433w4apajr8h28h";
};
unpackPhase = "tar -xzf $src";
sourceRoot = "ObinsKit_${version}_x64";
nativeBuildInputs = [ wrapGAppsHook ];
dontConfigure = true;
dontBuild = true;
installPhase = ''
mkdir -p $out/opt/obinskit
install icudtl.dat $out/opt/obinskit/
install natives_blob.bin $out/opt/obinskit/
install v8_context_snapshot.bin $out/opt/obinskit/
install blink_image_resources_200_percent.pak $out/opt/obinskit/
install content_resources_200_percent.pak $out/opt/obinskit/
install content_shell.pak $out/opt/obinskit/
install ui_resources_200_percent.pak $out/opt/obinskit/
install views_resources_200_percent.pak $out/opt/obinskit/
cp -r resources $out/opt/obinskit/
cp -r locales $out/opt/obinskit/
mkdir -p $out/bin
ln -s ${electron_3}/bin/electron $out/bin/obinskit
mkdir -p $out/share/{applications,pixmaps}
install resources/icons/tray-darwin@2x.png $out/share/pixmaps/obinskit.png
ln -s ${desktopItem}/share/applications/* $out/share/applications
'';
preFixup = ''
gappsWrapperArgs+=(
--add-flags $out/opt/obinskit/resources/app.asar
--prefix LD_LIBRARY_PATH : "${libPath}"
)
'';
meta = with lib; {
description = "Graphical configurator for Anne Pro and Anne Pro II keyboards";
homepage = "http://en.obins.net/obinskit/";
license = licenses.unfree;
maintainers = [ maintainers.shou ];
platforms = [ "x86_64-linux" ];
};
}