From 2b2672951f423ec073cc04fc64f40d4000d49b9d Mon Sep 17 00:00:00 2001 From: eljamm Date: Thu, 16 Oct 2025 08:27:12 +0200 Subject: [PATCH 1/3] lenovo-legion: use unstable update script; fix version At the time of writing this, the `0.0.21` tag does not exist, upstream. Closes: https://github.com/NixOS/nixpkgs/pull/450601 --- pkgs/os-specific/linux/lenovo-legion/app.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/lenovo-legion/app.nix b/pkgs/os-specific/linux/lenovo-legion/app.nix index afc1e5c3760e..652d4ea29d88 100644 --- a/pkgs/os-specific/linux/lenovo-legion/app.nix +++ b/pkgs/os-specific/linux/lenovo-legion/app.nix @@ -4,11 +4,12 @@ xorg, wrapQtAppsHook, python3, + nix-update-script, }: python3.pkgs.buildPythonApplication rec { pname = "lenovo-legion-app"; - version = "0.0.21-unstable-2025-07-11"; + version = "0.0.20-unstable-2025-07-11"; format = "setuptools"; src = fetchFromGitHub { @@ -52,6 +53,8 @@ python3.pkgs.buildPythonApplication rec { makeWrapperArgs+=("''${qtWrapperArgs[@]}") ''; + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; + meta = { description = "Utility to control Lenovo Legion laptop"; homepage = "https://github.com/johnfanv2/LenovoLegionLinux"; From 1eda97a42d984e168db1ee0502187432af647167 Mon Sep 17 00:00:00 2001 From: eljamm Date: Thu, 16 Oct 2025 08:27:36 +0200 Subject: [PATCH 2/3] lenovo-legion: build with qt6; modernize --- pkgs/os-specific/linux/lenovo-legion/app.nix | 11 ++++++++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/lenovo-legion/app.nix b/pkgs/os-specific/linux/lenovo-legion/app.nix index 652d4ea29d88..81b3468c5a10 100644 --- a/pkgs/os-specific/linux/lenovo-legion/app.nix +++ b/pkgs/os-specific/linux/lenovo-legion/app.nix @@ -5,12 +5,13 @@ wrapQtAppsHook, python3, nix-update-script, + qtbase, }: python3.pkgs.buildPythonApplication rec { pname = "lenovo-legion-app"; version = "0.0.20-unstable-2025-07-11"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "johnfanv2"; @@ -21,10 +22,14 @@ python3.pkgs.buildPythonApplication rec { sourceRoot = "${src.name}/python/legion_linux"; - nativeBuildInputs = [ wrapQtAppsHook ]; + build-system = with python3.pkgs; [ + setuptools + wrapQtAppsHook + ]; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3.pkgs; [ pyqt6 + qtbase argcomplete pillow pyyaml diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 294a73b11b90..3e1748a00cee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11719,7 +11719,7 @@ with pkgs; lemonbar-xft = callPackage ../applications/window-managers/lemonbar/xft.nix { }; - lenovo-legion = libsForQt5.callPackage ../os-specific/linux/lenovo-legion/app.nix { }; + lenovo-legion = qt6Packages.callPackage ../os-specific/linux/lenovo-legion/app.nix { }; libkiwix = callPackage ../applications/misc/kiwix/lib.nix { }; From d3f93869f6b396195ddfcef3c5b3751d2161f841 Mon Sep 17 00:00:00 2001 From: eljamm Date: Thu, 16 Oct 2025 14:10:47 +0200 Subject: [PATCH 3/3] lenovo-legion: set platform to `x86_64-linux` Which is the only supported one. --- pkgs/os-specific/linux/lenovo-legion/app.nix | 2 +- pkgs/os-specific/linux/lenovo-legion/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/lenovo-legion/app.nix b/pkgs/os-specific/linux/lenovo-legion/app.nix index 81b3468c5a10..472947f1b0dd 100644 --- a/pkgs/os-specific/linux/lenovo-legion/app.nix +++ b/pkgs/os-specific/linux/lenovo-legion/app.nix @@ -64,7 +64,7 @@ python3.pkgs.buildPythonApplication rec { description = "Utility to control Lenovo Legion laptop"; homepage = "https://github.com/johnfanv2/LenovoLegionLinux"; license = lib.licenses.gpl2Only; - platforms = lib.platforms.linux; + platforms = [ "x86_64-linux" ]; maintainers = with lib.maintainers; [ ulrikstrid logger diff --git a/pkgs/os-specific/linux/lenovo-legion/default.nix b/pkgs/os-specific/linux/lenovo-legion/default.nix index 006d929bd8a3..22a33305043c 100644 --- a/pkgs/os-specific/linux/lenovo-legion/default.nix +++ b/pkgs/os-specific/linux/lenovo-legion/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation { description = "Linux kernel module for controlling fan and power in Lenovo Legion laptops"; homepage = "https://github.com/johnfanv2/LenovoLegionLinux"; license = lib.licenses.gpl2Only; - platforms = lib.platforms.linux; + platforms = [ "x86_64-linux" ]; maintainers = [ lib.maintainers.ulrikstrid ]; broken = kernel.kernelOlder "5.15"; };