From ce7db158043bcc4f29e998621f8c436ca911f83e Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Mon, 11 Mar 2019 16:25:29 -0700 Subject: [PATCH 1/5] python37Packages.xcffib: 0.6.0 -> 0.7.0 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-xcffib/versions --- pkgs/development/python-modules/xcffib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/xcffib/default.nix b/pkgs/development/python-modules/xcffib/default.nix index 0f4c081e626..0b4f9578b55 100644 --- a/pkgs/development/python-modules/xcffib/default.nix +++ b/pkgs/development/python-modules/xcffib/default.nix @@ -7,12 +7,12 @@ }: buildPythonPackage rec { - version = "0.6.0"; + version = "0.7.0"; pname = "xcffib"; src = fetchPypi { inherit pname version; - sha256 = "36142cb72535933e8e1ed39ff2c45559fa7038823bd6be6961ef8ee5bb0f6912"; + sha256 = "12yc2r8967hknk829q1lbsw6b9z7qa25y8dx8kz6c9qnlc215vb8"; }; patchPhase = '' From 5751d9d475e547f65d8290b61b5fb2df6118efd4 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 11 Mar 2019 13:07:58 +0800 Subject: [PATCH 2/5] ltunify: 20140331 -> 20180330 --- pkgs/tools/misc/ltunify/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/misc/ltunify/default.nix b/pkgs/tools/misc/ltunify/default.nix index cf28fa05132..cb594391e2a 100644 --- a/pkgs/tools/misc/ltunify/default.nix +++ b/pkgs/tools/misc/ltunify/default.nix @@ -1,12 +1,17 @@ -{ stdenv, fetchgit }: +{ stdenv, fetchFromGitHub }: + +# 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 stdenv.mkDerivation rec { - name = "ltunify-20140331"; + name = "ltunify-${version}"; + version = "unstable-20180330"; - src = fetchgit { - url = "https://git.lekensteyn.nl/ltunify.git"; - rev = "c3a263ff97bcd31e96abbfed33d066f8d2778f58"; - sha256 = "04g7mmljkx8643k53yd9x4k2ndrr98w7fbq10qn8ll6didkph3v8"; + src = fetchFromGitHub { + owner = "Lekensteyn"; + repo = "ltunify"; + rev = "f664d1d41d5c4beeac5b81e485c3498f13109db7"; + sha256 = "07sqhih9jmm7vgiwqsjzihd307cj7l096sxjl25p7nwr1q4180wv"; }; makeFlags = [ "DESTDIR=$(out)" "bindir=/bin" ]; @@ -15,7 +20,7 @@ stdenv.mkDerivation rec { description = "Tool for working with Logitech Unifying receivers and devices"; homepage = https://lekensteyn.nl/logitech-unifying.html; license = licenses.gpl3Plus; + maintainers = with maintainers; [ abbradar ]; platforms = platforms.linux; - maintainers = [ maintainers.abbradar ]; }; } From 4f3e83470b7972d44af2f34f4ea4ecb6b28d07dd Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 11 Mar 2019 13:08:25 +0800 Subject: [PATCH 3/5] solaar: minor cleanups --- pkgs/applications/misc/solaar/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix index 1928da18681..cb2cd3f1e62 100644 --- a/pkgs/applications/misc/solaar/default.nix +++ b/pkgs/applications/misc/solaar/default.nix @@ -1,5 +1,9 @@ -{fetchFromGitHub, stdenv, gtk3, pythonPackages, gobject-introspection}: -pythonPackages.buildPythonApplication rec { +{ 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-unstable"; version = "2019-01-30"; @@ -10,7 +14,8 @@ pythonPackages.buildPythonApplication rec { sha256 = "0xg181xcwzzs8pdqvjrkjyaaga7ir93hzjvd17j9g3ns8xfj2mvr"; }; - propagatedBuildInputs = [pythonPackages.pygobject3 pythonPackages.pyudev gobject-introspection gtk3]; + propagatedBuildInputs = with python3Packages; [ gobject-introspection gtk3 pygobject3 pyudev ]; + postInstall = '' wrapProgram "$out/bin/solaar" \ --prefix PYTHONPATH : "$PYTHONPATH" \ @@ -19,12 +24,12 @@ pythonPackages.buildPythonApplication rec { --prefix PYTHONPATH : "$PYTHONPATH" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" - mkdir -p $out/lib/udev/rules.d - cp rules.d/*.rules $out/lib/udev/rules.d/ + install -Dm644 -t $out/etc/udev/rules.d rules.d/*.rules ''; enableParallelBuilding = true; - meta = with stdenv.lib; { + + meta = with lib; { description = "Linux devices manager for the Logitech Unifying Receiver"; longDescription = '' Solaar is a Linux device manager for Logitech’s Unifying Receiver @@ -40,6 +45,6 @@ pythonPackages.buildPythonApplication rec { license = licenses.gpl2; homepage = https://pwr.github.io/Solaar/; platforms = platforms.linux; - maintainers = [maintainers.spinus maintainers.ysndr]; + maintainers = with maintainers; [ spinus ysndr ]; }; } From 86cff5f5d7a8b172cae4d1e461a4e0d7844666d2 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 11 Mar 2019 13:09:30 +0800 Subject: [PATCH 4/5] logitech-udev-rules: init at 20190130 --- .../linux/logitech-udev-rules/default.nix | 19 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/os-specific/linux/logitech-udev-rules/default.nix diff --git a/pkgs/os-specific/linux/logitech-udev-rules/default.nix b/pkgs/os-specific/linux/logitech-udev-rules/default.nix new file mode 100644 index 00000000000..c215d940194 --- /dev/null +++ b/pkgs/os-specific/linux/logitech-udev-rules/default.nix @@ -0,0 +1,19 @@ +{ stdenv, solaar }: + +# ltunifi and solaar both provide udev rules but solaar's rules are more +# up-to-date so we simply use that instead of having to maintain our own rules + +stdenv.mkDerivation rec { + name = "logitech-udev-rules-${version}"; + inherit (solaar) version; + + buildCommand = '' + install -Dm644 -t $out/etc/udev/rules.d ${solaar.src}/rules.d/*.rules + ''; + + meta = with stdenv.lib; { + description = "udev rules for Logitech devices"; + inherit (solaar.meta) homepage license platforms; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7436ec0887..cdaa5f88338 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15777,6 +15777,8 @@ in lobster-two = callPackage ../data/fonts/lobster-two {}; + logitech-udev-rules = callPackage ../os-specific/linux/logitech-udev-rules {}; + # lohit-fonts.assamese lohit-fonts.bengali lohit-fonts.devanagari lohit-fonts.gujarati lohit-fonts.gurmukhi # lohit-fonts.kannada lohit-fonts.malayalam lohit-fonts.marathi lohit-fonts.nepali lohit-fonts.odia # lohit-fonts.tamil-classical lohit-fonts.tamil lohit-fonts.telugu From fe97297bb1c3794e90f7acc39eb97720866fd6c4 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 11 Mar 2019 13:10:31 +0800 Subject: [PATCH 5/5] logitech (nixos): support module for logitech input devices --- nixos/modules/hardware/logitech.nix | 28 ++++++++++++++++++++++++++++ nixos/modules/module-list.nix | 1 + 2 files changed, 29 insertions(+) create mode 100644 nixos/modules/hardware/logitech.nix diff --git a/nixos/modules/hardware/logitech.nix b/nixos/modules/hardware/logitech.nix new file mode 100644 index 00000000000..d6f43bdddcc --- /dev/null +++ b/nixos/modules/hardware/logitech.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.logitech; + +in { + options.hardware.logitech = { + enable = mkEnableOption "Logitech Devices"; + + enableGraphical = mkOption { + type = types.bool; + default = false; + description = "Enable graphical support applications."; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ + pkgs.ltunify + ] ++ lib.optional cfg.enableGraphical pkgs.solaar; + + # ltunifi and solaar both provide udev rules but the most up-to-date have been split + # out into a dedicated derivation + services.udev.packages = with pkgs; [ logitech-udev-rules ]; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b2f2c1ac8cb..505d5a0b5c3 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -45,6 +45,7 @@ ./hardware/sensor/iio.nix ./hardware/ksm.nix ./hardware/ledger.nix + ./hardware/logitech.nix ./hardware/mcelog.nix ./hardware/network/b43.nix ./hardware/nitrokey.nix