#!/usr/bin/env bash set -euo pipefail source "$(dirname "$0")/../common.sh" HOSTNAME="${1:-$(hostname)}" print_info "Building and switching configuration for $HOSTNAME" # Build print_info "Building configuration..." if ! nix build ".#nixosConfigurations.$HOSTNAME.config.system.build.toplevel" --no-link "${@:2}"; then print_error "Build failed" exit 1 fi print_success "Build completed" print_info "Switching to new configuration..." if [[ "$EUID" -ne 0 ]]; then sudo nixos-rebuild switch --flake ".#$HOSTNAME" "${@:2}" else nixos-rebuild switch --flake ".#$HOSTNAME" "${@:2}" fi print_success "Build and switch completed successfully"