From e7a1c57808a114b22d4aeb16c7511ce051ef9a99 Mon Sep 17 00:00:00 2001
From: Benjamin Koch <bbbsnowball@gmail.com>
Date: Mon, 29 May 2023 18:21:27 +0200
Subject: [PATCH] add app for Python with modbus libraries

---
 flake.nix | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/flake.nix b/flake.nix
index da23d8e..f602c58 100644
--- a/flake.nix
+++ b/flake.nix
@@ -119,6 +119,10 @@
           kikit = flake-utils.lib.mkApp { drv = self.packages.${system}.kikit; };
           kibot = flake-utils.lib.mkApp { drv = self.packages.${system}.kibot; };
           default = kibot;
+
+          #python-kibot = flake-utils.lib.mkApp { name = "python"; drv = self.devShells.${system}.kibot.passthru.python; };  # doesn't work
+          python-rust  = flake-utils.lib.mkApp { name = "python"; drv = self.devShells.${system}.rust.passthru.python; };
+          python-modbus = python-rust;
         };
         devShells = let
           flakePkgs = self.packages.${system};
@@ -126,10 +130,9 @@
           kibot = with flakePkgs; pkgs.mkShell rec {
             passthru.packages = [ flakePkgs.kibot ];
             passthru.pythonPackages = p: [ flakePkgs.kibot ];
+            passthru.python = python3.withPackages passthru.pythonPackages;
 
-            packages = passthru.packages ++ [
-              (python3.withPackages passthru.pythonPackages)
-            ];
+            packages = passthru.packages ++ [ passthru.python ];
 
             shellHook = ''
               # KiAuto wants to run stuff inside xvfb so let's make sure that we don't leak windows to our Wayland desktop.
@@ -168,17 +171,16 @@
               rustup udev.dev pkg-config openssl.dev picotool
             ];
             passthru.pythonPackages = p: with p; [ pymodbus3 pyserial modbus-tk ];
+            passthru.python = python3.withPackages passthru.pythonPackages;
 
-            packages = passthru.packages ++ [
-              (python3.withPackages passthru.pythonPackages)
-            ];
+            packages = passthru.packages ++ [ passthru.python ];
           };
 
-          default = pkgs.mkShell {
+          default = pkgs.mkShell rec {
+            passthru.python = flakePkgs.python3.withPackages (p: kibot.passthru.pythonPackages p ++ rust.passthru.pythonPackages p);
+
             #packages = kibot.nativeBuildInputs ++ rust.nativeBuildInputs;
-            packages = kibot.passthru.packages ++ rust.passthru.packages ++ [
-              (flakePkgs.python3.withPackages (p: kibot.passthru.pythonPackages p ++ rust.passthru.pythonPackages p))
-            ];
+            packages = kibot.passthru.packages ++ rust.passthru.packages ++ [ passthru.python ];
             shellHook = kibot.shellHook;
           };
         };
-- 
GitLab