diff --git a/pkgs/applications/misc/system76-keyboard-configurator/default.nix b/pkgs/applications/misc/system76-keyboard-configurator/default.nix new file mode 100644 index 000000000000..2708fb04a610 --- /dev/null +++ b/pkgs/applications/misc/system76-keyboard-configurator/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchFromGitHub, rustPlatform, gtk3, glib, wrapGAppsHook, libusb1, hidapi, udev, pkgconfig }: + +# system76-keyboard-configurator tries to spawn a daemon as root via pkexec, so +# your system needs a PolicyKit authentication agent running for the +# configurator to work. + +rustPlatform.buildRustPackage rec { + pname = "system76-keyboard-configurator"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "pop-os"; + repo = "keyboard-configurator"; + rev = "v${version}"; + sha256 = "sha256-CVCXNPmc/0T8vkxfU+i1nSbfusZGFVkLEveSoCePK0M="; + }; + + nativeBuildInputs = [ + pkgconfig + glib # for glib-compile-resources + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + hidapi + libusb1 + udev + ]; + + cargoSha256 = "sha256-/p2cVxOvWKkcVOYIR0N8tQSCniw+QhXhC+pus4NsQ8k="; + + meta = with lib; { + description = "Keyboard configuration application for System76 keyboards and laptops"; + homepage = "https://github.com/pop-os/keyboard-configurator"; + license = with licenses; [ gpl3Only ]; + maintainers = with maintainers; [ mirrexagon ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9d0f42e685fa..e9b41e8eae68 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23443,6 +23443,8 @@ with pkgs; system76-firmware = callPackage ../os-specific/linux/firmware/system76-firmware { }; + system76-keyboard-configurator = callPackage ../applications/misc/system76-keyboard-configurator { }; + ocf-resource-agents = callPackage ../os-specific/linux/ocf-resource-agents { }; open-vm-tools = callPackage ../applications/virtualization/open-vm-tools { };