1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 cmake,
6 dbus,
7 libX11,
8 libusb1,
9 pkg-config,
10 udev,
11 wayland,
12 wayland-scanner,
13 libxkbcommon,
14 gtk3,
15 libayatana-appindicator,
16}:
17
18stdenv.mkDerivation (finalAttrs: {
19 pname = "keymapper";
20 version = "4.12.3";
21
22 src = fetchFromGitHub {
23 owner = "houmain";
24 repo = "keymapper";
25 tag = finalAttrs.version;
26 hash = "sha256-ygy83eTibkxuC+1gK3eHDv0WK8wlzYTIPEJ2NAaWgo0=";
27 };
28
29 # all the following must be in nativeBuildInputs
30 nativeBuildInputs = [
31 cmake
32 pkg-config
33 dbus
34 wayland
35 wayland-scanner
36 libX11
37 udev
38 libusb1
39 libxkbcommon
40 gtk3
41 libayatana-appindicator
42 ];
43
44 meta = {
45 changelog = "https://github.com/houmain/keymapper/blob/${finalAttrs.src.rev}/CHANGELOG.md";
46 description = "Cross-platform context-aware key remapper";
47 homepage = "https://github.com/houmain/keymapper";
48 license = lib.licenses.gpl3Only;
49 mainProgram = "keymapper";
50 maintainers = with lib.maintainers; [
51 dit7ya
52 spitulax
53 ];
54 platforms = lib.platforms.linux;
55 };
56})