From aa2044d8e902fb7691bf31b021fa9f2e96b0293c Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 17:36:01 +0200 Subject: [PATCH 01/50] add flake --- flake.nix | 21 +++++++ nix/solaar/default.nix | 2 + nix/solaar/derivation.nix | 118 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 141 insertions(+) create mode 100644 flake.nix create mode 100644 nix/solaar/default.nix create mode 100644 nix/solaar/derivation.nix diff --git a/flake.nix b/flake.nix new file mode 100644 index 000000000..c23617baa --- /dev/null +++ b/flake.nix @@ -0,0 +1,21 @@ +{ + description = "Solaar is Open Source Logitech Driver for Linux"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + + flake-compat = { + url = "github:edolstra/flake-compat"; + flake = false; + } + }; + + outputs = { self, nixpkgs, flake-compat }: { + + packages.x86_64-linux.default = ( + import nixpkgs { + currentSystem = "x86_64-linux"; + localSystem = "x86_64-linux"; + }).pkgs.callPackage ./nix/solaar {}; + }; +} diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix new file mode 100644 index 000000000..469c3f9b1 --- /dev/null +++ b/nix/solaar/default.nix @@ -0,0 +1,2 @@ +{ pkgs ? import {} }: +pkgs.callPackage ./derivation.nix {} diff --git a/nix/solaar/derivation.nix b/nix/solaar/derivation.nix new file mode 100644 index 000000000..dc2ed2c15 --- /dev/null +++ b/nix/solaar/derivation.nix @@ -0,0 +1,118 @@ +{ fetchFromGitHub +, lib +, gobject-introspection +, gtk3 +, python3Packages +, wrapGAppsHook +, gdk-pixbuf +, libappindicator +, librsvg +, python3 +, pkg-config +, dbus +, dbus-glib +}: + +let + dbus-python = ps: with ps; [ + ( + buildPythonPackage rec { + pname = "dbus-python"; + version = "1.3.2"; + + format = "other"; + outputs = [ "out" "dev" ]; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-rWeBkwhhi1BpU3viN/jmjKHH/Mle5KEh/mhFsUGCSPg="; + }; + doCheck = false; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ dbus dbus-glib ]; + propagatedBuildInputs = []; + + nativeCheckInputs = [ dbus.out pygobject3 ]; + + postInstall = '' + cp -r dbus_python.egg-info $out/${python.sitePackages}/ + ''; + } + ) + ]; +in +# Although we copy in the udev rules here, you probably just want to use +# `logitech-udev-rules`, which is an alias to `udev` output of this derivation, +# instead of adding this to `services.udev.packages` on NixOS, +python3Packages.buildPythonApplication rec { + pname = "solaar"; + version = "1.1.10rc3"; + + src = fetchFromGitHub { + owner = "pwr-Solaar"; + repo = "Solaar"; + rev = "refs/tags/${version}"; + hash = "sha256-n4HOJc996/4cyPuAWuIgQ5B9u0ntAMZlbojx3LKwLOQ="; + }; + + outputs = [ "out" "udev" ]; + + nativeBuildInputs = [ + gdk-pixbuf + gobject-introspection + wrapGAppsHook + ]; + + buildInputs = [ + libappindicator + librsvg + ]; + + propagatedBuildInputs = with python3Packages; [ + evdev + gtk3 + psutil + pygobject3 + pyudev + pyyaml + xlib + (python3.withPackages dbus-python) + ]; + + # the -cli symlink is just to maintain compabilility with older versions where + # there was a difference between the GUI and CLI versions. + postInstall = '' + ln -s $out/bin/solaar $out/bin/solaar-cli + + install -Dm444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules + ''; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + # no tests + doCheck = false; + + pythonImportsCheck = [ "solaar" ]; + + meta = with lib; { + description = "Linux devices manager for the Logitech Unifying Receiver"; + longDescription = '' + Solaar is a Linux manager for many Logitech keyboards, mice, and trackpads that + connect wirelessly to a USB Unifying, Lightspeed, or Nano receiver, connect + directly via a USB cable, or connect via Bluetooth. Solaar does not work with + peripherals from other companies. + + Solaar can be used as a GUI application or via its command-line interface. + + 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`. + ''; + homepage = "https://pwr-solaar.github.io/Solaar/"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ spinus ysndr oxalica ]; + platforms = platforms.linux; + }; +} From 43e4ac126404b48d315f0051650b95ee5027611c Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 17:37:24 +0200 Subject: [PATCH 02/50] add missing ; --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index c23617baa..45277397e 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,7 @@ flake-compat = { url = "github:edolstra/flake-compat"; flake = false; - } + }; }; outputs = { self, nixpkgs, flake-compat }: { From 7506338344b35017b910dd870b8ef307026dbb03 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 17:39:22 +0200 Subject: [PATCH 03/50] add lock file --- flake.lock | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 flake.lock diff --git a/flake.lock b/flake.lock new file mode 100644 index 000000000..44e4b6f26 --- /dev/null +++ b/flake.lock @@ -0,0 +1,44 @@ +{ + "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-22.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} From 4ff2eef146ca82554c9c001ee531001080f57a61 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:02:42 +0200 Subject: [PATCH 04/50] updat package --- nix/solaar/default.nix | 25 +++++++- nix/solaar/derivation.nix | 118 -------------------------------------- 2 files changed, 23 insertions(+), 120 deletions(-) delete mode 100644 nix/solaar/derivation.nix diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 469c3f9b1..899894222 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -1,2 +1,23 @@ -{ pkgs ? import {} }: -pkgs.callPackage ./derivation.nix {} +{stdenv, +lib, +builtins, +python3 +}: + +stdenv.mkDerivation rec{ + pname = "solaar"; + version = builtins.readFile "../../lib/solaar/version"; + + src = "../../"; + + builtInputs = [ + python3 + ]; + + installPhase = '' + cp ${src}/bin/solaar ${out}/bin/solaar + ln -s ${out}/bin/solaar ${out}/bin/solaar-cli + + cp -r ${src}/lib ${out}/lib + ''; +} diff --git a/nix/solaar/derivation.nix b/nix/solaar/derivation.nix deleted file mode 100644 index dc2ed2c15..000000000 --- a/nix/solaar/derivation.nix +++ /dev/null @@ -1,118 +0,0 @@ -{ fetchFromGitHub -, lib -, gobject-introspection -, gtk3 -, python3Packages -, wrapGAppsHook -, gdk-pixbuf -, libappindicator -, librsvg -, python3 -, pkg-config -, dbus -, dbus-glib -}: - -let - dbus-python = ps: with ps; [ - ( - buildPythonPackage rec { - pname = "dbus-python"; - version = "1.3.2"; - - format = "other"; - outputs = [ "out" "dev" ]; - - src = fetchPypi { - inherit pname version; - sha256 = "sha256-rWeBkwhhi1BpU3viN/jmjKHH/Mle5KEh/mhFsUGCSPg="; - }; - doCheck = false; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus dbus-glib ]; - propagatedBuildInputs = []; - - nativeCheckInputs = [ dbus.out pygobject3 ]; - - postInstall = '' - cp -r dbus_python.egg-info $out/${python.sitePackages}/ - ''; - } - ) - ]; -in -# Although we copy in the udev rules here, you probably just want to use -# `logitech-udev-rules`, which is an alias to `udev` output of this derivation, -# instead of adding this to `services.udev.packages` on NixOS, -python3Packages.buildPythonApplication rec { - pname = "solaar"; - version = "1.1.10rc3"; - - src = fetchFromGitHub { - owner = "pwr-Solaar"; - repo = "Solaar"; - rev = "refs/tags/${version}"; - hash = "sha256-n4HOJc996/4cyPuAWuIgQ5B9u0ntAMZlbojx3LKwLOQ="; - }; - - outputs = [ "out" "udev" ]; - - nativeBuildInputs = [ - gdk-pixbuf - gobject-introspection - wrapGAppsHook - ]; - - buildInputs = [ - libappindicator - librsvg - ]; - - propagatedBuildInputs = with python3Packages; [ - evdev - gtk3 - psutil - pygobject3 - pyudev - pyyaml - xlib - (python3.withPackages dbus-python) - ]; - - # the -cli symlink is just to maintain compabilility with older versions where - # there was a difference between the GUI and CLI versions. - postInstall = '' - ln -s $out/bin/solaar $out/bin/solaar-cli - - install -Dm444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules - ''; - - dontWrapGApps = true; - - preFixup = '' - makeWrapperArgs+=("''${gappsWrapperArgs[@]}") - ''; - - # no tests - doCheck = false; - - pythonImportsCheck = [ "solaar" ]; - - meta = with lib; { - description = "Linux devices manager for the Logitech Unifying Receiver"; - longDescription = '' - Solaar is a Linux manager for many Logitech keyboards, mice, and trackpads that - connect wirelessly to a USB Unifying, Lightspeed, or Nano receiver, connect - directly via a USB cable, or connect via Bluetooth. Solaar does not work with - peripherals from other companies. - - Solaar can be used as a GUI application or via its command-line interface. - - 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`. - ''; - homepage = "https://pwr-solaar.github.io/Solaar/"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ spinus ysndr oxalica ]; - platforms = platforms.linux; - }; -} From d0b367f61989e67085ef74ef8cc1d6de8a2ba408 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:04:59 +0200 Subject: [PATCH 05/50] add outputs --- nix/solaar/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 899894222..fbb698300 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec{ src = "../../"; + outputs = [ "out" "udev" ]; + builtInputs = [ python3 ]; From 70dfd2d3146ef80daec529d15b09e797b007fac6 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:07:06 +0200 Subject: [PATCH 06/50] update --- nix/solaar/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index fbb698300..8f8396b03 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -17,9 +17,7 @@ stdenv.mkDerivation rec{ ]; installPhase = '' - cp ${src}/bin/solaar ${out}/bin/solaar - ln -s ${out}/bin/solaar ${out}/bin/solaar-cli - - cp -r ${src}/lib ${out}/lib + install -m755 -D bin/solaar $out/bin/solaar + ln -s $out/bin/solaar $out/bin/solaar-cli ''; } From ab543572cbca52a7678c98f9886060ec52959864 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:10:43 +0200 Subject: [PATCH 07/50] debug --- nix/solaar/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 8f8396b03..e38c58444 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -1,6 +1,5 @@ {stdenv, lib, -builtins, python3 }: From b2366034b19534bc01260353e09bfee120d155f5 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:11:24 +0200 Subject: [PATCH 08/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index e38c58444..a3a670b8a 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -5,7 +5,7 @@ python3 stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile "../../lib/solaar/version"; + version = builtins.readFile "lib/solaar/version"; src = "../../"; From 557fff6640413849a7f1f24ddf36f46056285a45 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:11:46 +0200 Subject: [PATCH 09/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index a3a670b8a..a5693e5fa 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -5,7 +5,7 @@ python3 stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile "lib/solaar/version"; + version = builtins.readFile "/lib/solaar/version"; src = "../../"; From cd72e2356fdc9ebc1b6814b5283f31593e512aa9 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:13:18 +0200 Subject: [PATCH 10/50] debug --- nix/solaar/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index a5693e5fa..ebb7242a5 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -3,11 +3,14 @@ lib, python3 }: +let + src = "../../"; +in stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile "/lib/solaar/version"; + version = builtins.readFile "${src}/lib/solaar/version"; - src = "../../"; + src = src; outputs = [ "out" "udev" ]; From db730812694947f3dc1a1246bc0d64b0c984530e Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:14:12 +0200 Subject: [PATCH 11/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index ebb7242a5..8e47cd72e 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec{ pname = "solaar"; version = builtins.readFile "${src}/lib/solaar/version"; - src = src; + src = "$src"; outputs = [ "out" "udev" ]; From 3ffee737140e4888d250058036b461f3b56a592b Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:15:17 +0200 Subject: [PATCH 12/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 8e47cd72e..a6ddd0bb7 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -8,7 +8,7 @@ let in stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile "${src}/lib/solaar/version"; + version = builtins.readFile $src+"/lib/solaar/version"; src = "$src"; From c6685daf8fcefd7d7b655a45f72caa3bc8987cf0 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:15:51 +0200 Subject: [PATCH 13/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index a6ddd0bb7..fc1268391 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -8,7 +8,7 @@ let in stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile $src+"/lib/solaar/version"; + version = builtins.readFile src+"/lib/solaar/version"; src = "$src"; From 2ffdde741d8052a102259a85d12acc55c9f6bcad Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:16:57 +0200 Subject: [PATCH 14/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index fc1268391..8431cf2e9 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec{ pname = "solaar"; version = builtins.readFile src+"/lib/solaar/version"; - src = "$src"; + src = "${src}"; outputs = [ "out" "udev" ]; From 8860c66f67d91bc6c5d06ab33fe456c6074e5d75 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:17:29 +0200 Subject: [PATCH 15/50] debug --- nix/solaar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 8431cf2e9..955eb99bc 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -4,13 +4,13 @@ python3 }: let - src = "../../"; + src_path = "../../"; in stdenv.mkDerivation rec{ pname = "solaar"; version = builtins.readFile src+"/lib/solaar/version"; - src = "${src}"; + src = src_path; outputs = [ "out" "udev" ]; From 54b5466afb38d995b6bfd176acc0e5708f2d29db Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:19:09 +0200 Subject: [PATCH 16/50] debug --- nix/solaar/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 955eb99bc..6db5bd07a 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -3,14 +3,11 @@ lib, python3 }: -let - src_path = "../../"; -in stdenv.mkDerivation rec{ pname = "solaar"; version = builtins.readFile src+"/lib/solaar/version"; - src = src_path; + src = lib.cleanSource self; outputs = [ "out" "udev" ]; From 47988a656965116bff7e5c5759361b7e2d95ae4f Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:19:29 +0200 Subject: [PATCH 17/50] debug --- nix/solaar/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 6db5bd07a..5d5abd617 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -1,5 +1,6 @@ {stdenv, lib, +selv, python3 }: From dc52bc0e873880ecb1aac2623020f840a9a4f7f9 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:19:47 +0200 Subject: [PATCH 18/50] fix typo --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 5d5abd617..223724ec0 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -1,6 +1,6 @@ {stdenv, lib, -selv, +self, python3 }: From 0fbae15d297094d00fdf508ba519dcf9a4d994c4 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:24:57 +0200 Subject: [PATCH 19/50] fix typo --- nix/solaar/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 223724ec0..98ddb942f 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -1,6 +1,5 @@ {stdenv, lib, -self, python3 }: @@ -8,7 +7,7 @@ stdenv.mkDerivation rec{ pname = "solaar"; version = builtins.readFile src+"/lib/solaar/version"; - src = lib.cleanSource self; + src = ./; outputs = [ "out" "udev" ]; From f2a4642fb4b8181373930f12cfbe71268c186639 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:25:19 +0200 Subject: [PATCH 20/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 98ddb942f..72a4a86a1 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec{ pname = "solaar"; version = builtins.readFile src+"/lib/solaar/version"; - src = ./; + src = "./"; outputs = [ "out" "udev" ]; From 9f328a33afaff854d9978274d66d950daea6ef40 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:29:29 +0200 Subject: [PATCH 21/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 72a4a86a1..2adc1566e 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec{ pname = "solaar"; version = builtins.readFile src+"/lib/solaar/version"; - src = "./"; + src = "./."; outputs = [ "out" "udev" ]; From 91fd0f9bc418487be6323e4b479dd78f2ae8c2f7 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:29:52 +0200 Subject: [PATCH 22/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 2adc1566e..bbc02d294 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec{ pname = "solaar"; version = builtins.readFile src+"/lib/solaar/version"; - src = "./."; + src = ./.; outputs = [ "out" "udev" ]; From f0f0a9c82aca40a413348780328d3e06198278f0 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:31:29 +0200 Subject: [PATCH 23/50] debug --- nix/solaar/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index bbc02d294..389e54d3f 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -1,5 +1,6 @@ {stdenv, lib, +autoPatchelfHook, python3 }: @@ -11,6 +12,10 @@ stdenv.mkDerivation rec{ outputs = [ "out" "udev" ]; + nativeBuiltInputs = [ + autoPatchelfHook + ]; + builtInputs = [ python3 ]; From 27f0a115db85446ea99cdb9515d40c810079ae82 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:32:21 +0200 Subject: [PATCH 24/50] debug --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 45277397e..ef5e47a57 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,6 @@ import nixpkgs { currentSystem = "x86_64-linux"; localSystem = "x86_64-linux"; - }).pkgs.callPackage ./nix/solaar {}; + }).pkgs.callPackage ./nix/solaar/default.nix {}; }; } From 50b26f6102c9d4b6bd3e6377ded8a6b8682c2b2c Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:35:38 +0200 Subject: [PATCH 25/50] debug --- flake.nix | 2 +- nix/solaar/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index ef5e47a57..45277397e 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,6 @@ import nixpkgs { currentSystem = "x86_64-linux"; localSystem = "x86_64-linux"; - }).pkgs.callPackage ./nix/solaar/default.nix {}; + }).pkgs.callPackage ./nix/solaar {}; }; } diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 389e54d3f..7a07205a7 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -6,7 +6,7 @@ python3 stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile src+"/lib/solaar/version"; + version = builtins.readFile "./lib/solaar/version"; src = ./.; From 4d00bd3884d968ff0b4e1582fd7dcb59f5e7e9b9 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:36:12 +0200 Subject: [PATCH 26/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 7a07205a7..a421a5a47 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -6,7 +6,7 @@ python3 stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile "./lib/solaar/version"; + version = builtins.readFile "././lib/solaar/version"; src = ./.; From 6cbbe1a8c1946d0ba35723ce1a5a3a713d5799dc Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:36:30 +0200 Subject: [PATCH 27/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index a421a5a47..a4a6c37a4 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -6,7 +6,7 @@ python3 stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile "././lib/solaar/version"; + version = builtins.readFile "/lib/solaar/version"; src = ./.; From 3dfc5faed83494ec0d287e94c34d04e86b0ff0ce Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:37:08 +0200 Subject: [PATCH 28/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index a4a6c37a4..1f5914007 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -6,7 +6,7 @@ python3 stdenv.mkDerivation rec{ pname = "solaar"; - version = builtins.readFile "/lib/solaar/version"; + version = "1.1.10rc3"; #builtins.readFile src+"/lib/solaar/version"; src = ./.; From 2e926e048cc3e3a33d2477bf84b5526163c93b3f Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:40:07 +0200 Subject: [PATCH 29/50] debug --- nix/solaar/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/solaar/default.nix b/nix/solaar/default.nix index 1f5914007..6edfd00cf 100644 --- a/nix/solaar/default.nix +++ b/nix/solaar/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec{ ]; installPhase = '' - install -m755 -D bin/solaar $out/bin/solaar + install -m755 -D $src/bin/solaar $out/bin/solaar ln -s $out/bin/solaar $out/bin/solaar-cli ''; } From d1d32591dca0ebedc1e816c34ee225718cac54b5 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:40:38 +0200 Subject: [PATCH 30/50] update gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index b764c7367..797ac7310 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ __pycache__/ /share/locale/ /po/*.po~ + +/results From 84d6ec63c5b3c9fa6240700ca2aefff347bc2986 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:44:03 +0200 Subject: [PATCH 31/50] change structure --- nix/solaar/default.nix => default.nix | 0 flake.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename nix/solaar/default.nix => default.nix (100%) diff --git a/nix/solaar/default.nix b/default.nix similarity index 100% rename from nix/solaar/default.nix rename to default.nix diff --git a/flake.nix b/flake.nix index 45277397e..79199a5da 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,6 @@ import nixpkgs { currentSystem = "x86_64-linux"; localSystem = "x86_64-linux"; - }).pkgs.callPackage ./nix/solaar {}; + }).pkgs.callPackage ./default.nix {}; }; } From 00f00efa46ba93086caaa3ba69fa5816ab613aed Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:45:45 +0200 Subject: [PATCH 32/50] add udev --- default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/default.nix b/default.nix index 6edfd00cf..d0c26e285 100644 --- a/default.nix +++ b/default.nix @@ -23,5 +23,7 @@ stdenv.mkDerivation rec{ installPhase = '' install -m755 -D $src/bin/solaar $out/bin/solaar ln -s $out/bin/solaar $out/bin/solaar-cli + + install -m444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules ''; } From 2953df8a47421cca3b6e0a0b2d03599b5cbc433b Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:47:48 +0200 Subject: [PATCH 33/50] correct path --- default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/default.nix b/default.nix index d0c26e285..d04ad7146 100644 --- a/default.nix +++ b/default.nix @@ -24,6 +24,10 @@ stdenv.mkDerivation rec{ install -m755 -D $src/bin/solaar $out/bin/solaar ln -s $out/bin/solaar $out/bin/solaar-cli - install -m444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules + install -m444 -D $src/rules.d-uinput/*.rules $udev/etc/udev/rules.d/ + ''; + postInstall = '' + install -m444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules + '' } From 6e3727e6da0f9c28e4ebeb2bf6320030de34ba83 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:48:13 +0200 Subject: [PATCH 34/50] add missing ; --- default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default.nix b/default.nix index d04ad7146..fdb2f684b 100644 --- a/default.nix +++ b/default.nix @@ -29,5 +29,5 @@ stdenv.mkDerivation rec{ ''; postInstall = '' install -m444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules - '' + ''; } From ef6ba0061e498c68b6e6b870b952df2b378fe20d Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:49:07 +0200 Subject: [PATCH 35/50] chnage target --- default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default.nix b/default.nix index fdb2f684b..133d485e4 100644 --- a/default.nix +++ b/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec{ install -m755 -D $src/bin/solaar $out/bin/solaar ln -s $out/bin/solaar $out/bin/solaar-cli - install -m444 -D $src/rules.d-uinput/*.rules $udev/etc/udev/rules.d/ + install -m444 -t $src/rules.d-uinput/*.rules $udev/etc/udev/rules.d/ ''; postInstall = '' From f06be5d1c97db3723ef4339c1c101b172e300a51 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:51:54 +0200 Subject: [PATCH 36/50] debug --- default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default.nix b/default.nix index 133d485e4..65a9a2bce 100644 --- a/default.nix +++ b/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec{ install -m755 -D $src/bin/solaar $out/bin/solaar ln -s $out/bin/solaar $out/bin/solaar-cli - install -m444 -t $src/rules.d-uinput/*.rules $udev/etc/udev/rules.d/ + install -m444 -t $src/rules.d-uinput $udev/etc/udev/rules.d/*.rules ''; postInstall = '' From 877ddf5cb156fc89b72570049eec1d400b470ef7 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 18:54:42 +0200 Subject: [PATCH 37/50] add udev --- default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/default.nix b/default.nix index 65a9a2bce..1384b70dc 100644 --- a/default.nix +++ b/default.nix @@ -23,11 +23,8 @@ stdenv.mkDerivation rec{ installPhase = '' install -m755 -D $src/bin/solaar $out/bin/solaar ln -s $out/bin/solaar $out/bin/solaar-cli - - install -m444 -t $src/rules.d-uinput $udev/etc/udev/rules.d/*.rules - ''; postInstall = '' - install -m444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules + install -m444 -t $udev/etc/udev/rules.d $src/rules.d-uinput/*.rules ''; } From 3d2252107ae50a4476e57320f4cd299f79171092 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 19:02:05 +0200 Subject: [PATCH 38/50] add pyhton --- .gitignore | 2 +- default.nix | 11 ++++++----- result | 1 + 3 files changed, 8 insertions(+), 6 deletions(-) create mode 120000 result diff --git a/.gitignore b/.gitignore index 797ac7310..431d5e9a2 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,4 @@ __pycache__/ /po/*.po~ -/results +/result diff --git a/default.nix b/default.nix index 1384b70dc..6751efeba 100644 --- a/default.nix +++ b/default.nix @@ -1,7 +1,7 @@ {stdenv, lib, autoPatchelfHook, -python3 +python3Packages }: stdenv.mkDerivation rec{ @@ -16,15 +16,16 @@ stdenv.mkDerivation rec{ autoPatchelfHook ]; - builtInputs = [ - python3 + propagatedBuiltInputs = with python3Packages; [ + evdev ]; installPhase = '' install -m755 -D $src/bin/solaar $out/bin/solaar ln -s $out/bin/solaar $out/bin/solaar-cli - ''; - postInstall = '' + + mkdir -p $udev/etc/udev/rules.d + install -m444 -t $udev/etc/udev/rules.d $src/rules.d-uinput/*.rules ''; } diff --git a/result b/result new file mode 120000 index 000000000..f7a434734 --- /dev/null +++ b/result @@ -0,0 +1 @@ +/nix/store/livp9fzk8sfs38qaxi7nxfnh7lbf4z55-solaar-1.1.10rc3 \ No newline at end of file From 792048d831e129c498d3dbc51bd32bda27cd9066 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 19:16:06 +0200 Subject: [PATCH 39/50] add missing values --- default.nix | 89 +++++++++++++++++++++++++++++++++++++++++++++-------- result | 2 +- 2 files changed, 77 insertions(+), 14 deletions(-) diff --git a/default.nix b/default.nix index 6751efeba..38bd4ef39 100644 --- a/default.nix +++ b/default.nix @@ -1,31 +1,94 @@ -{stdenv, -lib, -autoPatchelfHook, -python3Packages +{ stdenv +, lib +, python3Packages +, python3 +, dbus +, dbus-glib +, pkg-config + +, gobject-introspection +, gtk3 +, wrapGAppsHook +, gdk-pixbuf +, libappindicator +, librsvg }: -stdenv.mkDerivation rec{ +let + dbus-python = ps: with ps; [ + ( + buildPythonPackage rec { + pname = "dbus-python"; + version = "1.3.2"; + + format = "other"; + outputs = [ "out" "dev" ]; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-rWeBkwhhi1BpU3viN/jmjKHH/Mle5KEh/mhFsUGCSPg="; + }; + doCheck = false; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ dbus dbus-glib ]; + propagatedBuildInputs = []; + + nativeCheckInputs = [ dbus.out pygobject3 ]; + + postInstall = '' + cp -r dbus_python.egg-info $out/${python.sitePackages}/ + ''; + } + ) + ]; +in +python3Packages.buildPythonApplication rec{ pname = "solaar"; - version = "1.1.10rc3"; #builtins.readFile src+"/lib/solaar/version"; + version = builtins.readFile "${src}/lib/solaar/version"; src = ./.; outputs = [ "out" "udev" ]; - nativeBuiltInputs = [ - autoPatchelfHook + nativeBuildInputs = [ + gdk-pixbuf + gobject-introspection + wrapGAppsHook ]; - propagatedBuiltInputs = with python3Packages; [ + buildInputs = [ + libappindicator + librsvg + ]; + + propagatedBuildInputs = with python3Packages; [ evdev + gtk3 + psutil + pygobject3 + pyudev + pyyaml + xlib + (python3.withPackages dbus-python) ]; - installPhase = '' - install -m755 -D $src/bin/solaar $out/bin/solaar + # the -cli symlink is just to maintain compabilility with older versions where + # there was a difference between the GUI and CLI versions. + postInstall = '' ln -s $out/bin/solaar $out/bin/solaar-cli - mkdir -p $udev/etc/udev/rules.d + install -Dm444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules + ''; + + dontWrapGApps = true; - install -m444 -t $udev/etc/udev/rules.d $src/rules.d-uinput/*.rules + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; + + # no tests + doCheck = false; + + pythonImportsCheck = [ "solaar" ]; + } diff --git a/result b/result index f7a434734..5c14e6ec8 120000 --- a/result +++ b/result @@ -1 +1 @@ -/nix/store/livp9fzk8sfs38qaxi7nxfnh7lbf4z55-solaar-1.1.10rc3 \ No newline at end of file +/nix/store/zpmksc1ivhb59z5j2r2g5sscm2sdaqlm-solaar-1.1.10rc3- \ No newline at end of file From 4a145981cf1e690e76bca18d6740c5339805e015 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 19:16:30 +0200 Subject: [PATCH 40/50] remove result --- result | 1 - 1 file changed, 1 deletion(-) delete mode 120000 result diff --git a/result b/result deleted file mode 120000 index 5c14e6ec8..000000000 --- a/result +++ /dev/null @@ -1 +0,0 @@ -/nix/store/zpmksc1ivhb59z5j2r2g5sscm2sdaqlm-solaar-1.1.10rc3- \ No newline at end of file From 588a75b363af01ff7922dd6fe78a893c23416bd8 Mon Sep 17 00:00:00 2001 From: Svenum Date: Mon, 18 Sep 2023 19:29:51 +0200 Subject: [PATCH 41/50] update falke --- flake.lock | 17 ----------------- flake.nix | 7 +------ 2 files changed, 1 insertion(+), 23 deletions(-) diff --git a/flake.lock b/flake.lock index 44e4b6f26..1683957ca 100644 --- a/flake.lock +++ b/flake.lock @@ -1,21 +1,5 @@ { "nodes": { - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1688392541, @@ -34,7 +18,6 @@ }, "root": { "inputs": { - "flake-compat": "flake-compat", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 79199a5da..236f5b5f5 100644 --- a/flake.nix +++ b/flake.nix @@ -3,14 +3,9 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - - flake-compat = { - url = "github:edolstra/flake-compat"; - flake = false; - }; }; - outputs = { self, nixpkgs, flake-compat }: { + outputs = { self, nixpkgs }: { packages.x86_64-linux.default = ( import nixpkgs { From f86b6accde6fc23fd53a20ddd62565acff855c85 Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Mon, 18 Sep 2023 20:05:10 +0200 Subject: [PATCH 42/50] Update index.md --- docs/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.md b/docs/index.md index 8670b7b49..4d2827e49 100644 --- a/docs/index.md +++ b/docs/index.md @@ -108,6 +108,7 @@ one of these packages. - Arch solaar package in the [extra repository][arch] - Ubuntu/Kubuntu stable packages: use the [Solaar stable ppa][ppa2], courtesy of [gogo][ppa4] - Ubuntu/Kubuntu git build packages: use the [Solaar git ppa][ppa1], courtesy of [gogo][ppa4] +- NixOS git build or stable version: see [the installation page](https://pwr-solaar.github.io/Solaar/installation#nixos) Solaar is available from some other repositories but they are several versions behind the current version. From 08e3fef23662de175d8ead926e4229197fb455da Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Mon, 18 Sep 2023 20:15:06 +0200 Subject: [PATCH 43/50] Update installation.md --- docs/installation.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index ad36dbd2f..57f15b634 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -134,6 +134,33 @@ If you want to have Solaar's user messages in some other language you need to ru `tools/po-compile.sh` to create the translation files before running or installing Solaar and set the LANGUAGE environment variable appropriately when running Solaar. +# NixOS +Add this to your falke.nix +```ǹix +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; + solaar = { + # Uncomment wat you want + #url = "github:pwr-Solaar/Solaar"; # For latest package + #url = "https://github.com/Svenum/Solaar/archive/refs/tags/VERSION.tar.gz; # For Stable Version + }; + }; + + outputs = {nixpkgs, solaar}: { + nixosConfigurations.foo = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + + modules = [ + ({pkgs, ...}: { + environment.systemPackages = [prismlauncher.packages.${pkgs.system}.prismlauncher]; + }) + ]; + }; + } +} +``` + # Running Solaar at Startup Distributions can cause Solaar can be run automatically at user login by installing a desktop file at From 1acb295d53b3b9b50ab63d13fee191d864be52ed Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Mon, 18 Sep 2023 20:19:23 +0200 Subject: [PATCH 44/50] Update flake.nix --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 236f5b5f5..6bb9dc834 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "Solaar is Open Source Logitech Driver for Linux"; + description = "Linux devices manager for the Logitech Unifying Receiver"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; From 7654c77ab062f3c9a161e5b5c386e2a504c98306 Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:39:31 +0200 Subject: [PATCH 45/50] Delete default.nix --- default.nix | 94 ----------------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 default.nix diff --git a/default.nix b/default.nix deleted file mode 100644 index 38bd4ef39..000000000 --- a/default.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ stdenv -, lib -, python3Packages -, python3 -, dbus -, dbus-glib -, pkg-config - -, gobject-introspection -, gtk3 -, wrapGAppsHook -, gdk-pixbuf -, libappindicator -, librsvg -}: - -let - dbus-python = ps: with ps; [ - ( - buildPythonPackage rec { - pname = "dbus-python"; - version = "1.3.2"; - - format = "other"; - outputs = [ "out" "dev" ]; - - src = fetchPypi { - inherit pname version; - sha256 = "sha256-rWeBkwhhi1BpU3viN/jmjKHH/Mle5KEh/mhFsUGCSPg="; - }; - doCheck = false; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ dbus dbus-glib ]; - propagatedBuildInputs = []; - - nativeCheckInputs = [ dbus.out pygobject3 ]; - - postInstall = '' - cp -r dbus_python.egg-info $out/${python.sitePackages}/ - ''; - } - ) - ]; -in -python3Packages.buildPythonApplication rec{ - pname = "solaar"; - version = builtins.readFile "${src}/lib/solaar/version"; - - src = ./.; - - outputs = [ "out" "udev" ]; - - nativeBuildInputs = [ - gdk-pixbuf - gobject-introspection - wrapGAppsHook - ]; - - buildInputs = [ - libappindicator - librsvg - ]; - - propagatedBuildInputs = with python3Packages; [ - evdev - gtk3 - psutil - pygobject3 - pyudev - pyyaml - xlib - (python3.withPackages dbus-python) - ]; - - # the -cli symlink is just to maintain compabilility with older versions where - # there was a difference between the GUI and CLI versions. - postInstall = '' - ln -s $out/bin/solaar $out/bin/solaar-cli - - install -Dm444 -t $udev/etc/udev/rules.d rules.d-uinput/*.rules - ''; - - dontWrapGApps = true; - - preFixup = '' - makeWrapperArgs+=("''${gappsWrapperArgs[@]}") - ''; - - # no tests - doCheck = false; - - pythonImportsCheck = [ "solaar" ]; - -} From aa701b8197f3db76a3d35c67ac27390bf7d7fd72 Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:39:47 +0200 Subject: [PATCH 46/50] Update .gitignore --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 431d5e9a2..b764c7367 100644 --- a/.gitignore +++ b/.gitignore @@ -18,5 +18,3 @@ __pycache__/ /share/locale/ /po/*.po~ - -/result From 5d51e5aba60817aabb36264b904d3bb37f196cad Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:41:50 +0200 Subject: [PATCH 47/50] Update index.md --- docs/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index 4d2827e49..bbd6a245d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -108,7 +108,7 @@ one of these packages. - Arch solaar package in the [extra repository][arch] - Ubuntu/Kubuntu stable packages: use the [Solaar stable ppa][ppa2], courtesy of [gogo][ppa4] - Ubuntu/Kubuntu git build packages: use the [Solaar git ppa][ppa1], courtesy of [gogo][ppa4] -- NixOS git build or stable version: see [the installation page](https://pwr-solaar.github.io/Solaar/installation#nixos) +- NixOS Flake: see [Svenum/Solaar-Flake][nix flake] Solaar is available from some other repositories but they are several versions behind the current version. @@ -127,6 +127,7 @@ Solaar uses a standard system tray implementation; solaar-gnome3 is no longer re [gentoo]: https://packages.gentoo.org/packages/app-misc/solaar [mageia]: http://mageia.madb.org/package/show/release/cauldron/application/0/name/solaar [universe repository]: http://packages.ubuntu.com/search?keywords=solaar&searchon=names&suite=all§ion=all +[nix flake]: https://github.com/Svenum/Solaar-Flake ## Manual installation From a097659a5c674acebec18c45ccb4a6517d6f2746 Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:42:15 +0200 Subject: [PATCH 48/50] Update installation.md --- docs/installation.md | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 57f15b634..ad36dbd2f 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -134,33 +134,6 @@ If you want to have Solaar's user messages in some other language you need to ru `tools/po-compile.sh` to create the translation files before running or installing Solaar and set the LANGUAGE environment variable appropriately when running Solaar. -# NixOS -Add this to your falke.nix -```ǹix -{ - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - solaar = { - # Uncomment wat you want - #url = "github:pwr-Solaar/Solaar"; # For latest package - #url = "https://github.com/Svenum/Solaar/archive/refs/tags/VERSION.tar.gz; # For Stable Version - }; - }; - - outputs = {nixpkgs, solaar}: { - nixosConfigurations.foo = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - - modules = [ - ({pkgs, ...}: { - environment.systemPackages = [prismlauncher.packages.${pkgs.system}.prismlauncher]; - }) - ]; - }; - } -} -``` - # Running Solaar at Startup Distributions can cause Solaar can be run automatically at user login by installing a desktop file at From 6efed824bcaad76a8368242c326cbef5e44de08f Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:42:27 +0200 Subject: [PATCH 49/50] Delete flake.lock --- flake.lock | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 flake.lock diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 1683957ca..000000000 --- a/flake.lock +++ /dev/null @@ -1,27 +0,0 @@ -{ - "nodes": { - "nixpkgs": { - "locked": { - "lastModified": 1688392541, - "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-22.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "nixpkgs": "nixpkgs" - } - } - }, - "root": "root", - "version": 7 -} From 932ee74713d2df6384d1908345e355e60f7e1f6d Mon Sep 17 00:00:00 2001 From: Svenum <43136984+Svenum@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:42:36 +0200 Subject: [PATCH 50/50] Delete flake.nix --- flake.nix | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 flake.nix diff --git a/flake.nix b/flake.nix deleted file mode 100644 index 6bb9dc834..000000000 --- a/flake.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - description = "Linux devices manager for the Logitech Unifying Receiver"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; - }; - - outputs = { self, nixpkgs }: { - - packages.x86_64-linux.default = ( - import nixpkgs { - currentSystem = "x86_64-linux"; - localSystem = "x86_64-linux"; - }).pkgs.callPackage ./default.nix {}; - }; -}