#!/usr/bin/env bash set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" source "$ROOT/lib.sh" #────────────────────────────────────────────────────────────── # STATE: Computer network identity (edit these values) #────────────────────────────────────────────────────────────── COMPUTER_NAME="torben-mba" HOST_NAME="torben-mba" LOCAL_HOST_NAME="torben-mba" #────────────────────────────────────────────────────────────── # LOGIC: Idempotent network name configuration #────────────────────────────────────────────────────────────── log "Checking network names" current_computer=$(scutil --get ComputerName 2>/dev/null || echo "") current_host=$(scutil --get HostName 2>/dev/null || echo "") current_local=$(scutil --get LocalHostName 2>/dev/null || echo "") changed=false if [[ "$current_computer" != "$COMPUTER_NAME" ]]; then log "Setting ComputerName: $COMPUTER_NAME" sudo scutil --set ComputerName "$COMPUTER_NAME" changed=true fi if [[ "$current_host" != "$HOST_NAME" ]]; then log "Setting HostName: $HOST_NAME" sudo scutil --set HostName "$HOST_NAME" changed=true fi if [[ "$current_local" != "$LOCAL_HOST_NAME" ]]; then log "Setting LocalHostName: $LOCAL_HOST_NAME" sudo scutil --set LocalHostName "$LOCAL_HOST_NAME" changed=true fi if [[ "$changed" == "true" ]]; then log "Flushing DNS cache" sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder else log "Network names already configured" fi log "Network names verified"