develop #28

Merged
sid merged 6 commits from develop into release-25.11 2026-05-02 20:42:50 +02:00
3 changed files with 34 additions and 12 deletions
Showing only changes of commit e1fcd15e71 - Show all commits

View file

@ -7,6 +7,8 @@
hostname, hostname,
nix, nix,
nixos-rebuild-ng, nixos-rebuild-ng,
nix-output-monitor,
dix,
... ...
}: }:
@ -26,5 +28,7 @@ writeShellApplication {
hostname hostname
nix nix
nixos-rebuild-ng nixos-rebuild-ng
nix-output-monitor
dix
]; ];
} }

View file

@ -60,15 +60,24 @@ Rebuild_nixos() {
fi fi
[ -n "$TARGET_HOST" ] && CMD+=("--target-host" "$TARGET_HOST") [ -n "$TARGET_HOST" ] && CMD+=("--target-host" "$TARGET_HOST")
# Rebuild NixOS configuration # Build config first so we can diff it
local BUILD_CMD=("nixos-rebuild" "build" "--flake" "$FLAKE")
[ "$SHOW_TRACE" = 1 ] && BUILD_CMD+=("--show-trace")
[ -n "$BUILD_HOST" ] && BUILD_CMD+=("--build-host" "$BUILD_HOST")
if [ "$ROLLBACK" = 0 ]; then if [ "$ROLLBACK" = 0 ]; then
echo "Rebuilding NixOS configuration '$FLAKE'..." echo "Building NixOS configuration '$FLAKE'..."
echo "Executing command: ${BUILD_CMD[*]}"
"${BUILD_CMD[@]}" |&nom || error "NixOS build failed"
echo "Package diff:"
dix /run/current-system result
rm result
else else
echo "Rolling back to last NixOS generation..." echo "Rolling back to last NixOS generation..."
fi fi
echo "Switching to new NixOS configuration"
sudo -v
echo "Executing command: ${CMD[*]}" echo "Executing command: ${CMD[*]}"
"${CMD[@]}" || error "NixOS rebuild failed" "${CMD[@]}" |& nom || error "NixOS rebuild failed"
echo "NixOS rebuild completed successfully." echo "NixOS rebuild completed successfully."
} }
@ -91,15 +100,22 @@ Rebuild_home() {
[ "$SHOW_TRACE" = 1 ] && CMD+=("--show-trace") [ "$SHOW_TRACE" = 1 ] && CMD+=("--show-trace")
fi fi
# Rebuild Home Manager configuration # Build config first so we can diff it
if [ "$ROLLBACK" = 0 ]; then if [ "$ROLLBACK" = 0 ]; then
echo "Rebuilding Home Manager configuration '$FLAKE'..." local BUILD_CMD=("home-manager" "build" "--flake" "$FLAKE")
[ "$SHOW_TRACE" = 1 ] && BUILD_CMD+=("--show-trace")
echo "Building Home Manager configuration '$FLAKE'..."
echo "Executing command: ${BUILD_CMD[*]}"
"${BUILD_CMD[@]}" |& nom || error "Home Manager build failed"
echo "Package diff:"
dix /run/current-system result
rm result
else else
echo "Rolling back to last Home Manager generation..." echo "Rolling back to last Home Manager generation..."
fi fi
echo "Switching to new Home Manager configuration"
echo "Executing command: ${CMD[*]}" echo "Executing command: ${CMD[*]}"
"${CMD[@]}" || error "Home Manager rebuild failed" "${CMD[@]}" |& nom || error "Home Manager rebuild failed"
echo "Home Manager rebuild completed successfully." echo "Home Manager rebuild completed successfully."
} }
@ -227,10 +243,10 @@ fi
[ "$UPDATE" = 1 ] && Update [ "$UPDATE" = 1 ] && Update
case "$COMMAND" in case "$COMMAND" in
nixos) nixos|os)
Rebuild_nixos Rebuild_nixos
;; ;;
home) home|hm)
Rebuild_home Rebuild_home
;; ;;
all) all)

View file

@ -32,6 +32,8 @@ in
}; };
}; };
nix.settings.warn-dirty = mkDefault false;
# fallback quickly if substituters are not available. # fallback quickly if substituters are not available.
nix.settings.connect-timeout = mkDefault 5; nix.settings.connect-timeout = mkDefault 5;
nix.settings.fallback = true; nix.settings.fallback = true;