Compare commits

..
Author SHA1 Message Date
aaron 0e681ec0e2 chore(update): update flake file 2026-07-20 22:51:44 +02:00
aaron 0ce944b327 Merge pull request 'chore(flake): update flake file' (#60) from feature/updates into main
Reviewed-on: #60
2026-07-06 22:12:41 +02:00
aaron 046a17374b chore(flake): update flake file 2026-07-06 21:16:24 +02:00
aaron 626015db9f Merge pull request 'feature(packages): update and add cifs and nfs utils' (#59) from feature/cifs-utils into main
Reviewed-on: #59
2026-06-27 19:07:21 +02:00
aaron dfc2a1ca3a feature(packages): add nfs-utils 2026-06-27 18:51:31 +02:00
aaron e41d02abcc chore(update): upgrade flake file 2026-06-27 18:36:19 +02:00
aaron ec79afe982 feature(packages): add cifs-utils 2026-06-27 18:35:06 +02:00
aaron 536d4df5e4 Merge pull request 'feature(noctalia): add ddcutil to adjust the screens brightness' (#58) from feature/brightnesscontrol into main
Reviewed-on: #58
2026-06-23 13:03:47 +02:00
aaron 3bd71bb5e1 feature(noctalia): add ddcutil to adjust the screens brightness 2026-06-23 13:02:19 +02:00
aaron d7ac5923ff Merge pull request 'feature: astrophotography toolkit' (#57) from feature/astro into main
Reviewed-on: #57
2026-06-23 11:21:10 +02:00
aaron dab8e42797 fix(siril): expose adwaita-qt6 style plugin for dark theme 2026-06-23 11:08:10 +02:00
aaron cd905df8b4 fix(siril): add python3 to the siril wrapper so it sees it in its runtime path 2026-06-23 10:53:21 +02:00
aaron c20c9c0601 chore(flake): update flake file 2026-06-22 23:20:40 +02:00
aaron 853a7cfb17 feature(neon): add claude code to neon 2026-06-22 21:51:11 +02:00
aaron 596b58fab4 fix: add gc and misc settings to neon as well 2026-06-21 00:01:16 +02:00
aaron a58319e08d fix: remove stellarium module from neon 2026-06-20 23:57:20 +02:00
aaron 79b24d9439 fix: add more shared objects for sirils plugins 2026-06-20 21:48:26 +02:00
aaron b295a9a330 feature(siril): make siril plugins work by exposing shared objects 2026-06-20 18:11:34 +02:00
aaron 29db6af86b feature(starnet): add starnet to siril to use ml models for star removal, this needs nix-ld to be enabled 2026-06-20 13:58:29 +02:00
aaron 9d7efb69ac feature(astro): collect astrofotography tools in one module 2026-06-20 12:18:45 +02:00
aaron bf5de3872f Merge pull request 'chore(update): update flake file' (#56) from feature/updates into main
Reviewed-on: #56
2026-06-16 14:44:10 +02:00
aaron 7577e39c88 feature(noctalia): update the noctalia config 2026-06-16 11:33:38 +02:00
aaron 47fb9e7f97 feature(nixvim): pin nixvim to nixpkgs to suppress the non-default warning 2026-06-15 10:54:35 +02:00
aaron 098b92ae45 feature(noctalia): use the noctialia flake to manage my noctalia config for version 5 2026-06-15 10:45:34 +02:00
aaron b987dcf0c6 chore(update): update flake file 2026-06-14 16:49:39 +02:00
aaron 0c6c2dd71b chore(update): update flake file 2026-06-11 16:00:09 +02:00
10 changed files with 232 additions and 28 deletions
Generated
+15 -15
View File
@@ -8,11 +8,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1778716662, "lastModified": 1782949081,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781009359, "lastModified": 1784546264,
"narHash": "sha256-w/mZkRscTatf8NWyUstli8ROzM/eopxZzi0WRjoeYkU=", "narHash": "sha256-jxVr5EHMYAOkFvS2k0abIvt6NqyshyWmiHHzV17sT2g=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c58ead12efcac436afffa93a22099a5595eb4157", "rev": "e3dea8e4792b09a6c0eb5836b0284ad05b1acba0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -43,11 +43,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1780749050, "lastModified": 1784497964,
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=", "narHash": "sha256-vlHUuqAcbcH2RKmHbPiuQzbv1pnzzavXnI62RD0bqCU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb", "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -66,11 +66,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1780995253, "lastModified": 1784057377,
"narHash": "sha256-6Lsoyw2XPvY8YNMCtPnsyw0JVVtHsXP2xtrFJBBTAOQ=", "narHash": "sha256-yycNej5//EsRbV10moBoh+/63vXEwZD1ZFEiRm6C9rQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "43a7e6f82978ac975c3bba6728869b231e7a1ba0", "rev": "07180a087e4a00720dc0731cbcd8dec796974381",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -86,11 +86,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781026666, "lastModified": 1784556533,
"narHash": "sha256-mwjp1F8WuazLN0I16g581enuu4WaOdEMC0uhd+6/iWg=", "narHash": "sha256-tlcP2x7d+ldS3BypTcInqrsOhi6BPuSSTeubfBMmm8Y=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-shell", "repo": "noctalia-shell",
"rev": "5fa56db215e0fdf351547709f790aa47f05b44b0", "rev": "815635cf7dc810616c9e6ecf4b9b4f4c54e69905",
"type": "github" "type": "github"
}, },
"original": { "original": {
+3 -3
View File
@@ -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 -1
View File
@@ -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
]; ];
+6
View File
@@ -4,6 +4,12 @@
programs.nixvim = { programs.nixvim = {
enable = true; enable = true;
# We keep `inputs.nixvim.inputs.nixpkgs.follows = "nixpkgs"` in flake.nix so
# the whole config shares a single nixpkgs. Setting `source` explicitly to
# that same nixpkgs acknowledges the override and silences nixvim's warning
# about its pinned nixpkgs being bypassed.
nixpkgs.source = inputs.nixpkgs;
# set aliases # set aliases
viAlias = true; viAlias = true;
vimAlias = true; vimAlias = true;
+123
View File
@@ -0,0 +1,123 @@
{ config, pkgs, inputs, ... }:
{
# Noctalia v5 shell, managed via its upstream home-manager module.
# See https://docs.noctalia.dev/v5/getting-started/nixos/
imports = [ inputs.noctalia.homeModules.default ];
programs.noctalia = {
enable = true;
# The module's `package` option has no default, so it must be set explicitly.
package = inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default;
# settings is rendered to ~/.config/noctalia/config.toml
settings = {
# theme / colors
theme = {
source = "builtin";
builtin = "Nord";
mode = "dark";
templates.builtin_ids = [ "ghostty" ];
};
# general
shell = {
font_family = "0xProto Nerd Font Mono";
ui_scale = 1.2;
avatar_path = "/home/aaron/syncthing/pictures/Logo-Aaron-Totenkopf-rund-schwarz.png";
telemetry_enabled = false;
clipboard_enabled = true;
password_style = "random";
panel = {
launcher_compact = true;
open_near_click_control_center = true;
open_near_click_session = true;
open_near_click_wallpaper = true;
transparency_mode = "glass";
};
screen_corners = {
enabled = true;
size = 10;
};
};
# location / weather
location.address = "Bern";
weather = {
enabled = true;
unit = "metric";
};
# wallpaper
wallpaper = {
enabled = true;
directory = "/home/aaron/Pictures/Wallpapers";
fill_mode = "crop";
default.path = "/home/aaron/Pictures/Wallpapers/nord-theme-tower.png";
};
# bar layout
bar = {
order = [ "default" ];
default = {
position = "top";
background_opacity = 0.93;
font_weight = 400;
margin_edge = 0;
margin_ends = 0;
radius = 0;
scale = 1.2;
widget_spacing = 20;
start = [ "control-center" "cpu" "ram" "temp" "active_window" ];
center = [ "workspaces" ];
end = [ "tray" "bluetooth" "notifications" "volume" "network" "clock" ];
};
};
# per-widget styling
widget = {
bluetooth.capsule = true;
control-center = {
capsule_radius = 8;
custom_image = "/home/aaron/Pictures/nix_flake_logo.png";
scale = 1.4;
};
cpu.capsule = true;
network = {
capsule = true;
show_label = false;
};
notifications.capsule = true;
ram.capsule = true;
temp.capsule = true;
volume = {
capsule = true;
show_label = false;
};
};
# idle behavior
idle = {
behavior_order = [ "screen-off" "lock" "lock-and-suspend" ];
behavior = {
"screen-off" = {
enabled = true;
timeout = 600;
};
"lock" = {
enabled = true;
timeout = 660;
};
"lock-and-suspend" = {
enabled = true;
timeout = 1800;
};
};
};
};
};
}
+78
View File
@@ -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
View File
@@ -7,6 +7,7 @@
adwaita-qt adwaita-qt
adwaita-qt6 adwaita-qt6
brightnessctl brightnessctl
ddcutil
playerctl playerctl
]; ];
} }
+3 -1
View File
@@ -4,6 +4,7 @@
# system packages # system packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
btop btop
cifs-utils
cowsay cowsay
dnsutils dnsutils
ethtool ethtool
@@ -20,6 +21,7 @@
ltrace ltrace
mtr mtr
neovim neovim
nfs-utils
nh nh
nix-output-monitor nix-output-monitor
nmap nmap
@@ -34,9 +36,9 @@
unzip unzip
usbutils usbutils
vim vim
wl-clipboard
wget wget
which which
wl-clipboard
xz xz
zip zip
zstd zstd
-8
View File
@@ -1,8 +0,0 @@
{ config, lib, pkgs, ... }:
{
# install stellarium for stargazing and sky simulation
environment.systemPackages = with pkgs; [
stellarium
];
}
+1
View File
@@ -6,6 +6,7 @@
../../modules/home-manager/git.nix ../../modules/home-manager/git.nix
../../modules/home-manager/ghostty.nix ../../modules/home-manager/ghostty.nix
../../modules/home-manager/nixvim.nix ../../modules/home-manager/nixvim.nix
../../modules/home-manager/noctalia.nix
../../modules/home-manager/programs.nix ../../modules/home-manager/programs.nix
../../modules/home-manager/shell.nix ../../modules/home-manager/shell.nix
../../modules/home-manager/styling.nix ../../modules/home-manager/styling.nix