Compare commits

...

6 Commits

4 changed files with 67 additions and 12 deletions
+3 -3
View File
@@ -2,11 +2,12 @@
{
imports = [
../../modules/nixos/astro.nix
../../modules/nixos/audio.nix
../../modules/nixos/bootloader.nix
../../modules/nixos/calibre.nix
../../modules/nixos/claudecode.nix
../../modules/nixos/certificates.nix
../../modules/nixos/claudecode.nix
../../modules/nixos/drives.nix
../../modules/nixos/gnupg.nix
../../modules/nixos/gnuradio.nix
@@ -21,9 +22,8 @@
../../modules/nixos/protonvpn.nix
../../modules/nixos/services.nix
../../modules/nixos/settings.nix
../../modules/nixos/stellarium.nix
../../modules/nixos/thunar.nix
../../modules/nixos/steam.nix
../../modules/nixos/thunar.nix
../../modules/nixos/users.nix
];
+1 -1
View File
@@ -2,6 +2,7 @@
{
imports = [
../../modules/nixos/astro.nix
../../modules/nixos/audio.nix
../../modules/nixos/bootloader.nix
../../modules/nixos/certificates.nix
@@ -17,7 +18,6 @@
../../modules/nixos/sddm.nix
../../modules/nixos/services.nix
../../modules/nixos/settings.nix
../../modules/nixos/stellarium.nix
../../modules/nixos/steam.nix
../../modules/nixos/users.nix
];
+63
View File
@@ -0,0 +1,63 @@
{ config, lib, pkgs, ... }:
let
# Siril's Python plugins (sirilpy) run in a venv that pip-installs foreign
# manylinux wheels (numpy, GraXpert deps, ...). Those .so files need
# libstdc++ at runtime. nix-ld does NOT cover this: it only handles the
# initial exec of a foreign binary, but here a *native* nixpkgs python
# dlopen()s the foreign wheel. So we put the libs on LD_LIBRARY_PATH, which
# the python subprocess inherits from the Siril process.
sirilWithPlugins = pkgs.symlinkJoin {
name = "siril-with-plugins";
paths = [ pkgs.siril ];
nativeBuildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/siril \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath (with pkgs; [
stdenv.cc.cc.lib # libstdc++ / libgcc_s / libgomp (numpy etc.)
zlib
zstd # libzstd.so.1 (PyQt6)
libGL # libGL.so.1 (PyQt6)
# PyQt6 (VeraLux) — Qt bundles xcb support so it needs these even
# on Wayland; libxkbcommon is the keymap lib used by Wayland too.
glib
fontconfig
freetype
dbus
libxkbcommon
# Qt platform plugins: the wayland plugin (libqwayland.so) needs the
# wayland client libs; the xcb fallback needs libxcb-cursor.so.0.
wayland # libwayland-client/cursor/egl (wayland plugin)
libxcb-cursor # libxcb-cursor.so.0 (xcb plugin)
libx11
libxcb
libxcb-util
libxcb-wm
libxcb-image
libxcb-keysyms
libxcb-render-util
])}
'';
};
in
{
# install stellarium for target finding and siril for stacking
environment.systemPackages = with pkgs; [
stellarium
sirilWithPlugins
];
# 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
# Preferences -> Miscellaneous -> StarNet executable
# to the extracted ./starnet2 binary.
#
# The binary is a generic dynamically-linked ELF, so NixOS needs nix-ld to
# run it. Its own opencv/onnxruntime libs are found via the bundled ./lib.
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
stdenv.cc.cc.lib # libstdc++ / libgcc_s
zlib
];
}
-8
View File
@@ -1,8 +0,0 @@
{ config, lib, pkgs, ... }:
{
# install stellarium for stargazing and sky simulation
environment.systemPackages = with pkgs; [
stellarium
];
}