summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-05-18 15:25:47 -0500
committerChristian Cleberg <[email protected]>2026-05-18 15:25:47 -0500
commit9fff16821c293e8a3374225a94620a251c22f1d3 (patch)
tree7d01bdf33ae8df60f997d22c89beebd68116cc82
parent758b846efe350dd5f3d5f70025698f2258c9c283 (diff)
downloaddotfiles-9fff16821c293e8a3374225a94620a251c22f1d3.tar.gz
dotfiles-9fff16821c293e8a3374225a94620a251c22f1d3.tar.bz2
dotfiles-9fff16821c293e8a3374225a94620a251c22f1d3.zip
fix: update motd to be consistently useful across personal and managed macs
-rwxr-xr-xmacos/motd/motd.sh50
1 files changed, 46 insertions, 4 deletions
diff --git a/macos/motd/motd.sh b/macos/motd/motd.sh
index 3099d1f..0aef22e 100755
--- a/macos/motd/motd.sh
+++ b/macos/motd/motd.sh
@@ -2,11 +2,53 @@ BOLD='\033[1m'
DIM='\033[2m'
RESET='\033[0m'
-VPN=$(mullvad status 2>/dev/null | head -1 || echo "disconnected")
-IP=$(mullvad status | rg -o '(\d{1,3}\.){3}\d{1,3}')
+HOST=$(scutil --get ComputerName 2>/dev/null || hostname)
+
+IP=$(ipconfig getifaddr en0 2>/dev/null || ipconfig getifaddr en1 2>/dev/null)
+IP=${IP:-unavailable}
+
+SSID=$(networksetup -getairportnetwork en0 2>/dev/null | sed 's/^Current Wi-Fi Network: //')
+case "$SSID" in
+ ""|"You are not associated with an AirPort network.")
+ SSID="unavailable"
+ ;;
+esac
+
+BATTERY=$(pmset -g batt 2>/dev/null | awk -F'; *' '
+ NR==2 {
+ gsub(/^ +| +$/, "", $2)
+ gsub(/^ +| +$/, "", $3)
+ sub(/ present: true$/, "", $3)
+ print $2 ", " $3
+ }
+')
+BATTERY=${BATTERY:-unavailable}
+
+UPTIME=$(uptime | sed 's/^.*up //; s/, [0-9]* user.*//; s/, load averages.*//')
+UPTIME=${UPTIME:-unavailable}
+
+if profiles status -type enrollment 2>/dev/null | grep -qi "MDM enrollment: Yes"; then
+ MANAGED="yes"
+else
+ MANAGED="no"
+fi
+
+VPN="unavailable"
+
+if command -v mullvad >/dev/null 2>&1; then
+ STATUS=$(mullvad status 2>/dev/null)
+ VPN=$(printf '%s\n' "$STATUS" | head -1)
+ VPN=${VPN:-unavailable}
+fi
printf "\n"
printf " ${BOLD}%s${RESET} ${DIM}%s${RESET}\n" "$USER" "$(uname -sr)"
-printf " ${DIM}vpn ${RESET}%s\n" "$VPN"
-printf " ${DIM}ip ${RESET}%s\n" "$IP"
+printf " ${DIM}%-14s${RESET}%s\n" "host" "$HOST"
+printf " ${DIM}%-14s${RESET}%s\n" "managed" "$MANAGED"
+printf " ${DIM}%-14s${RESET}%s\n" "wifi" "$SSID"
+printf " ${DIM}%-14s${RESET}%s\n" "ip" "$IP"
+printf " ${DIM}%-14s${RESET}%s\n" "mullvad" "$VPN"
+printf " ${DIM}%-14s${RESET}%s\n" "battery" "$BATTERY"
+printf " ${DIM}%-14s${RESET}%s\n" "uptime" "$UPTIME"
printf "\n"
+