rebuild: add nom and dix. disable dirty git tree warning

This commit is contained in:
sid 2026-04-26 12:26:54 +02:00
parent 89a74ddbbf
commit e1fcd15e71
3 changed files with 34 additions and 12 deletions

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
if [ "$ROLLBACK" = 0 ]; then local BUILD_CMD=("nixos-rebuild" "build" "--flake" "$FLAKE")
echo "Rebuilding NixOS configuration '$FLAKE'..." [ "$SHOW_TRACE" = 1 ] && BUILD_CMD+=("--show-trace")
[ -n "$BUILD_HOST" ] && BUILD_CMD+=("--build-host" "$BUILD_HOST")
if [ "$ROLLBACK" = 0 ]; then
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;