evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / sy / system76-keyboard-configurator / package.nix
blobe9831de3ed00d4b5621b23a8ca3009e1a1fec1ce
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";
9   version = "1.3.12";
11   src = fetchFromGitHub {
12     owner = "pop-os";
13     repo = "keyboard-configurator";
14     rev = "v${version}";
15     sha256 = "sha256-rnKWzct2k/ObjBnf90uwMar7fjZAUvQ2RPPZVZQsWEA=";
16   };
18   nativeBuildInputs = [
19     pkg-config
20     glib # for glib-compile-resources
21     wrapGAppsHook3
22   ];
24   buildInputs = [
25     gtk3
26     hidapi
27     libusb1
28     udev
29   ];
31   cargoHash = "sha256-3FUcJHuMOSbtE0sL6N2AvedyseJ7RiUbo8jtY/nWAW0=";
33   postInstall = ''
34     install -Dm444 linux/com.system76.keyboardconfigurator.desktop -t $out/share/applications
35     cp -r data/icons $out/share
36   '';
38   meta = with lib; {
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;
45   };