#!/usr/bin/env bash # Load (or reload) all homeai-voice launchd services. set -euo pipefail LAUNCHD_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/launchd" && pwd)" LAUNCH_AGENTS=~/Library/LaunchAgents PLISTS=( com.homeai.wyoming-stt.plist com.homeai.wyoming-tts.plist com.homeai.wyoming-satellite.plist # com.homeai.wakeword.plist # Disabled - wake word handled by Wyoming satellite + HA ) for plist in "${PLISTS[@]}"; do src="${LAUNCHD_DIR}/${plist}" dst="${LAUNCH_AGENTS}/${plist}" label="${plist%.plist}" cp "$src" "$dst" if launchctl list "$label" &>/dev/null; then launchctl unload "$dst" 2>/dev/null || true fi launchctl load "$dst" echo "Loaded: $label" done echo "" echo "Status:" for plist in "${PLISTS[@]}"; do label="${plist%.plist}" pid=$(launchctl list "$label" 2>/dev/null | awk 'NR==2{print $1}') echo " $label — PID: ${pid:--}" done