about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJanik <80165193+Janik-Haag@users.noreply.github.com>2023-12-31 21:58:36 +0100
committerGitHub <noreply@github.com>2023-12-31 21:58:36 +0100
commite264ed1f157901ad50a0cd5eb7a078e2121ebb4f (patch)
tree3010862c9029d4964c505865994ed4e61966d156
parentb41904b92367780fb16813696a6459fad58aa342 (diff)
parent7cd1467a773782e350418d5948561470d58499ac (diff)
Merge pull request #268299 from jankaifer/jankaifer/keymapp
Add package keymapp
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/applications/misc/keymapp/default.nix68
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 76 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 1b78c5e65043e..e33a6077f44e5 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -8248,6 +8248,12 @@
     github = "Janik-Haag";
     githubId = 80165193;
   };
+  jankaifer = {
+    name = "Jan Kaifer";
+    email = "jan@kaifer.cz";
+    github = "jankaifer";
+    githubId = 12820484;
+  };
   jansol = {
     email = "jan.solanti@paivola.fi";
     github = "jansol";
diff --git a/pkgs/applications/misc/keymapp/default.nix b/pkgs/applications/misc/keymapp/default.nix
new file mode 100644
index 0000000000000..a0d7881b65e70
--- /dev/null
+++ b/pkgs/applications/misc/keymapp/default.nix
@@ -0,0 +1,68 @@
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, wrapGAppsHook
+, libusb1
+, webkitgtk
+, gtk3
+, writeShellScript
+, makeDesktopItem
+, copyDesktopItems
+}:
+let
+  desktopItem = makeDesktopItem {
+    name = "keymapp";
+    icon = "keymapp";
+    desktopName = "Keymapp";
+    categories = [ "Settings" "HardwareSettings" ];
+    type = "Application";
+    exec = "keymapp";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "keymapp";
+  version = "1.0.7";
+
+  src = fetchurl {
+    url = "https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-${version}.tar.gz";
+    hash = "sha256-BmCLF/4wjBDxToMW0OYqI6PZwqmctgBs7nBygmJ+YOU=";
+  };
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    autoPatchelfHook
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    libusb1
+    webkitgtk
+    gtk3
+  ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+
+    install -m755 -D keymapp "$out/bin/${pname}"
+    install -Dm644 icon.png "$out/share/pixmaps/${pname}.png"
+
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(--set-default '__NV_PRIME_RENDER_OFFLOAD' 1)
+  '';
+
+  desktopItems = [ desktopItem ];
+
+  meta = with lib; {
+    homepage = "https://www.zsa.io/flash/";
+    description = "Application for ZSA keyboards";
+    maintainers = with lib.maintainers; [ jankaifer shawn8901 ];
+    platforms = platforms.linux;
+    license = lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 27dba9bacf796..bf4f62191f7c3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9829,6 +9829,8 @@ with pkgs;
 
   keyfuzz = callPackage ../tools/inputmethods/keyfuzz { };
 
+  keymapp = callPackage ../applications/misc/keymapp { };
+
   keyscope = callPackage ../tools/security/keyscope {
     inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation IOKit Security;
   };