1 { lib, fetchFromGitHub, rustPlatform, gtk3, glib, wrapGAppsHook3, libusb1, hidapi, udev, pkg-config }:
3 # system76-keyboard-configurator tries to spawn a daemon as root via pkexec, so
4 # your system needs a PolicyKit authentication agent running for the
5 # configurator to work.
7 rustPlatform.buildRustPackage rec {
8 pname = "system76-keyboard-configurator";
11 src = fetchFromGitHub {
13 repo = "keyboard-configurator";
15 sha256 = "sha256-rnKWzct2k/ObjBnf90uwMar7fjZAUvQ2RPPZVZQsWEA=";
20 glib # for glib-compile-resources
31 cargoHash = "sha256-3FUcJHuMOSbtE0sL6N2AvedyseJ7RiUbo8jtY/nWAW0=";
34 install -Dm444 linux/com.system76.keyboardconfigurator.desktop -t $out/share/applications
35 cp -r data/icons $out/share
39 description = "Keyboard configuration application for System76 keyboards and laptops";
40 mainProgram = "system76-keyboard-configurator";
41 homepage = "https://github.com/pop-os/keyboard-configurator";
42 license = with licenses; [ gpl3Only ];
43 maintainers = with maintainers; [ mirrexagon ];
44 platforms = platforms.linux;