Commit 9fff16821c
Verified · cmc
Layout: unified · split
macos/motd/motd.sh +46 −4
| @@ -2,11 +2,53 @@ BOLD='\033[1m' | |||
| 2 | DIM='\033[2m' | 2 | DIM='\033[2m' |
| 3 | RESET='\033[0m' | 3 | RESET='\033[0m' |
| 4 | 4 | ||
| 5 | VPN=$(mullvad status 2>/dev/null | head -1 || echo "disconnected") | 5 | HOST=$(scutil --get ComputerName 2>/dev/null || hostname) |
| 6 | IP=$(mullvad status | rg -o '(\d{1,3}\.){3}\d{1,3}') | 6 | |
| 7 | IP=$(ipconfig getifaddr en0 2>/dev/null || ipconfig getifaddr en1 2>/dev/null) | ||
| 8 | IP=${IP:-unavailable} | ||
| 9 | |||
| 10 | SSID=$(networksetup -getairportnetwork en0 2>/dev/null | sed 's/^Current Wi-Fi Network: //') | ||
| 11 | case "$SSID" in | ||
| 12 | ""|"You are not associated with an AirPort network.") | ||
| 13 | SSID="unavailable" | ||
| 14 | ;; | ||
| 15 | esac | ||
| 16 | |||
| 17 | BATTERY=$(pmset -g batt 2>/dev/null | awk -F'; *' ' | ||
| 18 | NR==2 { | ||
| 19 | gsub(/^ +| +$/, "", $2) | ||
| 20 | gsub(/^ +| +$/, "", $3) | ||
| 21 | sub(/ present: true$/, "", $3) | ||
| 22 | print $2 ", " $3 | ||
| 23 | } | ||
| 24 | ') | ||
| 25 | BATTERY=${BATTERY:-unavailable} | ||
| 26 | |||
| 27 | UPTIME=$(uptime | sed 's/^.*up //; s/, [0-9]* user.*//; s/, load averages.*//') | ||
| 28 | UPTIME=${UPTIME:-unavailable} | ||
| 29 | |||
| 30 | if profiles status -type enrollment 2>/dev/null | grep -qi "MDM enrollment: Yes"; then | ||
| 31 | MANAGED="yes" | ||
| 32 | else | ||
| 33 | MANAGED="no" | ||
| 34 | fi | ||
| 35 | |||
| 36 | VPN="unavailable" | ||
| 37 | |||
| 38 | if command -v mullvad >/dev/null 2>&1; then | ||
| 39 | STATUS=$(mullvad status 2>/dev/null) | ||
| 40 | VPN=$(printf '%s\n' "$STATUS" | head -1) | ||
| 41 | VPN=${VPN:-unavailable} | ||
| 42 | fi | ||
| 7 | 43 | ||
| 8 | printf "\n" | 44 | printf "\n" |
| 9 | printf " ${BOLD}%s${RESET} ${DIM}%s${RESET}\n" "$USER" "$(uname -sr)" | 45 | printf " ${BOLD}%s${RESET} ${DIM}%s${RESET}\n" "$USER" "$(uname -sr)" |
| 10 | printf " ${DIM}vpn ${RESET}%s\n" "$VPN" | 46 | printf " ${DIM}%-14s${RESET}%s\n" "host" "$HOST" |
| 11 | printf " ${DIM}ip ${RESET}%s\n" "$IP" | 47 | printf " ${DIM}%-14s${RESET}%s\n" "managed" "$MANAGED" |
| 48 | printf " ${DIM}%-14s${RESET}%s\n" "wifi" "$SSID" | ||
| 49 | printf " ${DIM}%-14s${RESET}%s\n" "ip" "$IP" | ||
| 50 | printf " ${DIM}%-14s${RESET}%s\n" "mullvad" "$VPN" | ||
| 51 | printf " ${DIM}%-14s${RESET}%s\n" "battery" "$BATTERY" | ||
| 52 | printf " ${DIM}%-14s${RESET}%s\n" "uptime" "$UPTIME" | ||
| 12 | printf "\n" | 53 | printf "\n" |
| 54 | |||