this repo has no description
at main 2.0 kB view raw
1#!/usr/bin/env bash 2set -euo pipefail 3ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" 4source "$ROOT/lib.sh" 5 6#────────────────────────────────────────────────────────────── 7# STATE: Computer network identity (edit these values) 8#────────────────────────────────────────────────────────────── 9COMPUTER_NAME="torben-mba" 10HOST_NAME="torben-mba" 11LOCAL_HOST_NAME="torben-mba" 12 13#────────────────────────────────────────────────────────────── 14# LOGIC: Idempotent network name configuration 15#────────────────────────────────────────────────────────────── 16 17log "Checking network names" 18 19current_computer=$(scutil --get ComputerName 2>/dev/null || echo "") 20current_host=$(scutil --get HostName 2>/dev/null || echo "") 21current_local=$(scutil --get LocalHostName 2>/dev/null || echo "") 22 23changed=false 24 25if [[ "$current_computer" != "$COMPUTER_NAME" ]]; then 26 log "Setting ComputerName: $COMPUTER_NAME" 27 sudo scutil --set ComputerName "$COMPUTER_NAME" 28 changed=true 29fi 30 31if [[ "$current_host" != "$HOST_NAME" ]]; then 32 log "Setting HostName: $HOST_NAME" 33 sudo scutil --set HostName "$HOST_NAME" 34 changed=true 35fi 36 37if [[ "$current_local" != "$LOCAL_HOST_NAME" ]]; then 38 log "Setting LocalHostName: $LOCAL_HOST_NAME" 39 sudo scutil --set LocalHostName "$LOCAL_HOST_NAME" 40 changed=true 41fi 42 43if [[ "$changed" == "true" ]]; then 44 log "Flushing DNS cache" 45 sudo dscacheutil -flushcache 46 sudo killall -HUP mDNSResponder 47else 48 log "Network names already configured" 49fi 50 51log "Network names verified"