#!/usr/bin/env bash set -euo pipefail source "$(dirname "$0")/../common.sh" HOSTNAME="${1:-$(scutil --get LocalHostName 2>/dev/null || hostname -s)}" print_info "Building and switching configuration for $HOSTNAME" # Build print_info "Building configuration..." if ! nix build ".#darwinConfigurations.$HOSTNAME.system" --show-trace "${@:2}"; then print_error "Build failed" exit 1 fi print_success "Build completed" # Switch print_info "Switching to new configuration..." sudo ./result/sw/bin/darwin-rebuild switch --flake ".#$HOSTNAME" "${@:2}" if [[ -L ./result ]]; then unlink ./result fi print_success "Build and switch completed successfully"