diff options
-rw-r--r-- | pkgs/applications/misc/obinskit/default.nix | 83 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/applications/misc/obinskit/default.nix b/pkgs/applications/misc/obinskit/default.nix new file mode 100644 index 00000000000..ff09500c43a --- /dev/null +++ b/pkgs/applications/misc/obinskit/default.nix @@ -0,0 +1,83 @@ +{ 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" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e93e1e65b3..79fe6d38124 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2058,6 +2058,8 @@ in optar = callPackage ../tools/graphics/optar {}; + obinskit = callPackage ../applications/misc/obinskit {}; + pastel = callPackage ../applications/misc/pastel { inherit (darwin.apple_sdk.frameworks) Security; }; |