#!/bin/bash
# 安裝「依電源自動切換睡眠」服務
# 用法（終端機 App）：sudo bash install-sleep-by-power.sh
#   sleep-by-power.sh 與 tw.oawu.sleep-by-power.plist 要放在同一個目錄
set -euo pipefail
[ "$(id -u)" = 0 ] || { echo "✗ 請用 sudo 執行"; exit 1; }

DIR="$(cd "$(dirname "$0")" && pwd)"
LABEL=tw.oawu.sleep-by-power
PLIST=/Library/LaunchDaemons/$LABEL.plist
SCRIPT=/usr/local/sbin/sleep-by-power.sh

echo "▸ 檢查來源檔案"
bash -n "$DIR/sleep-by-power.sh"
plutil -lint "$DIR/$LABEL.plist" >/dev/null

echo "▸ 複製到系統位置（root 擁有，避免一般使用者改動後取得 root 權限）"
install -d -o root -g wheel -m 755 /usr/local/sbin
install -o root -g wheel -m 755 "$DIR/sleep-by-power.sh" "$SCRIPT"
install -o root -g wheel -m 644 "$DIR/$LABEL.plist" "$PLIST"

echo "▸ 載入服務（若已安裝則先卸載舊的）"
launchctl bootout system/"$LABEL" 2>/dev/null || true
launchctl bootstrap system "$PLIST"
sleep 2

echo ""
echo "=== 結果 ==="
echo "電源：$(pmset -g ps | head -1 | sed "s/Now drawing from //")"
pmset -g | grep SleepDisabled
launchctl print system/"$LABEL" | grep -E "^\s*(state|last exit code|run interval)" || true
echo "紀錄檔：/var/log/sleep-by-power.log"
