depot/third_party/nixpkgs/pkgs/applications/misc/solaar/default.nix
Default email 8ac5e011d6 Project import generated by Copybara.
GitOrigin-RevId: 2c3273caa153ee8eb5786bc8141b85b859e7efd7
2020-04-24 19:36:52 -04:00

46 lines
1.7 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ fetchFromGitHub, lib, gobject-introspection, gtk3, python3Packages }:
# Although we copy in the udev rules here, you probably just want to use logitech-udev-rules instead of
# adding this to services.udev.packages on NixOS
python3Packages.buildPythonApplication rec {
pname = "solaar";
version = "1.0.1";
src = fetchFromGitHub {
owner = "pwr-Solaar";
repo = "Solaar";
rev = "${version}";
sha256 = "1ni3aimpl9vyhwzi61mvm8arkii52cmb6bzjma9cnkjyx328pkid";
};
propagatedBuildInputs = with python3Packages; [ gobject-introspection gtk3 pygobject3 pyudev ];
postInstall = ''
wrapProgram "$out/bin/solaar" \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
wrapProgram "$out/bin/solaar-cli" \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
install -Dm644 -t $out/etc/udev/rules.d rules.d/*.rules
'';
enableParallelBuilding = true;
meta = with lib; {
description = "Linux devices manager for the Logitech Unifying Receiver";
longDescription = ''
Solaar is a Linux device manager for Logitechs Unifying Receiver
peripherals. It is able to pair/unpair devices to the receiver, and for
most devices read battery status.
It comes in two flavors, command-line and GUI. Both are able to list the
devices paired to a Unifying Receiver, show detailed info for each
device, and also pair/unpair supported devices with the receiver.
To be able to use it, make sure you have access to /dev/hidraw* files.
'';
license = licenses.gpl2;
homepage = "https://pwr-solaar.github.io/Solaar/";
platforms = platforms.linux;
maintainers = with maintainers; [ spinus ysndr ];
};
}