3 , gobject-introspection
12 # Although we copy in the udev rules here, you probably just want to use
13 # `logitech-udev-rules`, which is an alias to `udev` output of this derivation,
14 # instead of adding this to `services.udev.packages` on NixOS,
15 python3Packages.buildPythonApplication rec {
19 src = fetchFromGitHub {
22 rev = "refs/tags/${version}";
23 hash = "sha256-sYJrVAeZi0a7yD0i/zIIxcu9X/c5HvgoI/n50eXD47s=";
26 outputs = [ "out" "udev" ];
39 propagatedBuildInputs = with python3Packages; [
51 # the -cli symlink is just to maintain compabilility with older versions where
52 # there was a difference between the GUI and CLI versions.
54 ln -s $out/bin/solaar $out/bin/solaar-cli
56 install -Dm444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules
62 makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
68 pythonImportsCheck = [ "solaar" ];
71 description = "Linux devices manager for the Logitech Unifying Receiver";
73 Solaar is a Linux manager for many Logitech keyboards, mice, and trackpads that
74 connect wirelessly to a USB Unifying, Lightspeed, or Nano receiver, connect
75 directly via a USB cable, or connect via Bluetooth. Solaar does not work with
76 peripherals from other companies.
78 Solaar can be used as a GUI application or via its command-line interface.
80 This tool requires either to be run with root/sudo or alternatively to have the udev rules files installed. On NixOS this can be achieved by setting `hardware.logitech.wireless.enable`.
82 homepage = "https://pwr-solaar.github.io/Solaar/";
83 license = licenses.gpl2Only;
84 maintainers = with maintainers; [ spinus ysndr oxalica ];
85 platforms = platforms.linux;