Merge pull request 'fix(siri): add venv to the siril installation' (#77) from fix/siril into main

Reviewed-on: #77
This commit was merged in pull request #77.
This commit is contained in:
2026-09-20 12:51:09 +02:00
+14 -2
View File
@@ -15,7 +15,15 @@ let
# on PATH. nixpkgs only *propagates* python3 from the siril derivation (it
# isn't on the runtime PATH), so without the --prefix PATH below the GUI
# fails with "Python not found in system PATH" and never creates
# ~/.local/share/siril/venv. We add the same interpreter siril references.
# ~/.local/share/siril/venv.
#
# We deliberately do NOT put ${pkgs.python3}/bin on PATH directly: `venv`
# symlinks bin/python3 to whatever sys.executable was, so the venv would
# hard-link a /nix/store hash that gets garbage-collected after the next
# python bump, leaving a dangling symlink ("Error finding venv python
# path, unable to spawn python"). Instead we go through the stable
# /etc/siril/bin/python3 symlink (see environment.etc below), which NixOS
# re-points at the current python on every rebuild.
#
# The VeraLux PyQt6 wheel ships only the built-in Windows/Fusion styles, so
# the global QT_STYLE_OVERRIDE=adwaita-dark (inherited from the session) is
@@ -26,7 +34,7 @@ let
# ignored again (harmless warning + Fusion fallback, no loss of function).
postBuild = ''
wrapProgram $out/bin/siril \
--prefix PATH : ${lib.makeBinPath [ pkgs.python3 ]} \
--prefix PATH : /etc/siril/bin \
--prefix QT_PLUGIN_PATH : ${pkgs.adwaita-qt6}/lib/qt-6/plugins \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath (with pkgs; [
stdenv.cc.cc.lib # libstdc++ / libgcc_s / libgomp (numpy etc.)
@@ -62,6 +70,10 @@ in
sirilWithPlugins
];
# Stable, GC-safe interpreter path for Siril's venv (see sirilWithPlugins).
# Same python as siril itself propagates, so sirilpy's ABI matches.
environment.etc."siril/bin/python3".source = "${pkgs.python3}/bin/python3";
# StarNet++ has no nixpkgs package. Download the StarNet v2 ORT CLI build
# (starnet2_linux_*_ORT_x64_cli) from https://www.starnetastro.com/download/
# and unzip it to ~/.local/share/siril/starnet/. Then in Siril set