diff --git a/ci/packages.nix b/ci/packages.nix index fca1cbbd..26eb6510 100644 --- a/ci/packages.nix +++ b/ci/packages.nix @@ -39,6 +39,7 @@ in { ]; print.inputs = [ #legacyPackages.x86_64-linux.pkgs.cura-octoprint + legacyPackages.x86_64-linux.pkgs.niimprint ]; systemd2mqtt.inputs = [ packages.x86_64-linux.systemd2mqtt diff --git a/overlays/print.nix b/overlays/print.nix index 242eecce..0c3fecb4 100644 --- a/overlays/print.nix +++ b/overlays/print.nix @@ -5,7 +5,7 @@ in { plugins = [final.curaPlugins.octoprint]; }; - klipper = prev.callPackage ../packages/klipper.nix {}; + klipper = final.callPackage ../packages/klipper.nix {}; octoprint = let mapPlugin = python3Packages: _: plugin: @@ -73,4 +73,6 @@ in { in callPackage octoklipper {}; }; + + niimprint = final.python3Packages.callPackage ../packages/niimprint.nix {}; } diff --git a/packages/default.nix b/packages/default.nix index 7c5b3204..96b8a4c7 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -52,6 +52,7 @@ barcodebuddy barcodebuddy-scanner barcodebuddy-scanner-python + niimprint openwebrxplus systemd2mqtt ; diff --git a/packages/niimprint.nix b/packages/niimprint.nix new file mode 100644 index 00000000..4ed24dc5 --- /dev/null +++ b/packages/niimprint.nix @@ -0,0 +1,43 @@ +{ + buildPythonApplication +, fetchFromGitHub +, poetry-core +, pyserial +, pillow +, click +}: let + mainProgram = "niimprint"; +in buildPythonApplication { + pname = "niimprint"; + version = "2024_04_05"; + + src = fetchFromGitHub { + owner = "AndBondStyle"; + repo = "niimprint"; + rev = "be39f68c16a5a7dc1b09bb173700d0ee1ec9cb66"; + sha256 = "sha256-+YISYchdqeVKrQ0h2cj5Jy2ezMjnQcWCCYm5f95H9dI="; + }; + + pyproject = true; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + pyserial + pillow + click + ]; + + postInstall = '' + install -d $out/bin + echo '#!/usr/bin/env python' > $out/bin/${mainProgram} + cat niimprint/__main__.py >> $out/bin/${mainProgram} + chmod +x $out/bin/${mainProgram} + ''; + + meta = { + inherit mainProgram; + }; +}