Merge pull request 'feature: astrophotography toolkit' (#57) from feature/astro into main
Reviewed-on: #57
This commit was merged in pull request #57.
This commit is contained in:
Generated
+12
-12
@@ -28,11 +28,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781365335,
|
"lastModified": 1782159472,
|
||||||
"narHash": "sha256-zqDBhXMzfbdlO7F2bGHe7MOtB3xngd/+4ieMHDC+ZXo=",
|
"narHash": "sha256-S+/v+BWz9c8IbGhRM8L4UUVC5j2oZuAHj1b5XlkBjyw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5b6f5733726a1b2ccafb5dec6ac4ca7299fad66c",
|
"rev": "351959fcdbe5cadec1c3434d7abd14dff31af2d5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -43,11 +43,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781074563,
|
"lastModified": 1781577229,
|
||||||
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca",
|
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -66,11 +66,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781388258,
|
"lastModified": 1782160744,
|
||||||
"narHash": "sha256-Kx1zxra9sZ215H3OiWUfkulu8N2v3iu19wqlzpD/Ac0=",
|
"narHash": "sha256-cHC0CeygNx5y07oTyNo6Gkc0k3fD964MRvwQerlImPY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "e3c908fdf6dff268b04ffb6758bcfc7c018489b9",
|
"rev": "f60bf47332d1564a175ad4b517a83ff0c288f2e7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -86,11 +86,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781443008,
|
"lastModified": 1782159196,
|
||||||
"narHash": "sha256-ZycdrXdxhHYtw9FV10T6A+Tj1Hkq3WKtWnxQ317uXC8=",
|
"narHash": "sha256-+2SNFxlnmetcPCIfai0gv89mgnXFQr3kMwLDKUyn0ZE=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-shell",
|
"repo": "noctalia-shell",
|
||||||
"rev": "2b82e4a2719b8bb0cd2da9716ed30302e9299ed6",
|
"rev": "a5a5ea605ac68599d29669030d39173f1e1a0c17",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
../../modules/nixos/astro.nix
|
||||||
../../modules/nixos/audio.nix
|
../../modules/nixos/audio.nix
|
||||||
../../modules/nixos/bootloader.nix
|
../../modules/nixos/bootloader.nix
|
||||||
../../modules/nixos/calibre.nix
|
../../modules/nixos/calibre.nix
|
||||||
../../modules/nixos/claudecode.nix
|
|
||||||
../../modules/nixos/certificates.nix
|
../../modules/nixos/certificates.nix
|
||||||
|
../../modules/nixos/claudecode.nix
|
||||||
../../modules/nixos/drives.nix
|
../../modules/nixos/drives.nix
|
||||||
../../modules/nixos/gnupg.nix
|
../../modules/nixos/gnupg.nix
|
||||||
../../modules/nixos/gnuradio.nix
|
../../modules/nixos/gnuradio.nix
|
||||||
@@ -21,9 +22,8 @@
|
|||||||
../../modules/nixos/protonvpn.nix
|
../../modules/nixos/protonvpn.nix
|
||||||
../../modules/nixos/services.nix
|
../../modules/nixos/services.nix
|
||||||
../../modules/nixos/settings.nix
|
../../modules/nixos/settings.nix
|
||||||
../../modules/nixos/stellarium.nix
|
|
||||||
../../modules/nixos/thunar.nix
|
|
||||||
../../modules/nixos/steam.nix
|
../../modules/nixos/steam.nix
|
||||||
|
../../modules/nixos/thunar.nix
|
||||||
../../modules/nixos/users.nix
|
../../modules/nixos/users.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,11 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
../../modules/nixos/astro.nix
|
||||||
../../modules/nixos/audio.nix
|
../../modules/nixos/audio.nix
|
||||||
../../modules/nixos/bootloader.nix
|
../../modules/nixos/bootloader.nix
|
||||||
../../modules/nixos/certificates.nix
|
../../modules/nixos/certificates.nix
|
||||||
|
../../modules/nixos/claudecode.nix
|
||||||
../../modules/nixos/docker.nix
|
../../modules/nixos/docker.nix
|
||||||
../../modules/nixos/gnupg.nix
|
../../modules/nixos/gnupg.nix
|
||||||
../../modules/nixos/locales.nix
|
../../modules/nixos/locales.nix
|
||||||
@@ -17,7 +19,6 @@
|
|||||||
../../modules/nixos/sddm.nix
|
../../modules/nixos/sddm.nix
|
||||||
../../modules/nixos/services.nix
|
../../modules/nixos/services.nix
|
||||||
../../modules/nixos/settings.nix
|
../../modules/nixos/settings.nix
|
||||||
../../modules/nixos/stellarium.nix
|
|
||||||
../../modules/nixos/steam.nix
|
../../modules/nixos/steam.nix
|
||||||
../../modules/nixos/users.nix
|
../../modules/nixos/users.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -0,0 +1,78 @@
|
|||||||
|
{ 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 ];
|
||||||
|
# Siril bootstraps its sirilpy venv at first run by locating a `python3`
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
# rejected ("invalid style override") and windows fall back to a light
|
||||||
|
# theme. We expose nixpkgs adwaita-qt6's style plugin on QT_PLUGIN_PATH so
|
||||||
|
# the override resolves. This works because nixpkgs qt6 and the bundled Qt
|
||||||
|
# share a major.minor (6.11); if they ever drift the plugin is simply
|
||||||
|
# ignored again (harmless warning + Fusion fallback, no loss of function).
|
||||||
|
postBuild = ''
|
||||||
|
wrapProgram $out/bin/siril \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ pkgs.python3 ]} \
|
||||||
|
--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.)
|
||||||
|
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
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# install stellarium for stargazing and sky simulation
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
stellarium
|
|
||||||
];
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user