#!/usr/bin/env bash # Install camera-qrng as a macOS LaunchAgent. # The agent runs launch-wrapper.sh which auto-pulls and rebuilds on every # (re)start, so binary upgrades are automatic. # Usage: ./scripts/install-launchagent.sh set -e ROOT="$(cd "$(dirname "$0")/.." && pwd)" PLIST_SRC="${ROOT}/scripts/camera-qrng.plist.in" PLIST_DEST="${HOME}/Library/LaunchAgents/camera-trng.plist" echo "Building release binary..." (cd "$ROOT" && cargo build --release) mkdir -p "${ROOT}/logs" sed -e "s|WORKING_DIR|${ROOT}|g" \ -e "s|HOME_DIR|${HOME}|g" \ "$PLIST_SRC" > "$PLIST_DEST" echo "Installed plist to ${PLIST_DEST}" launchctl unload "$PLIST_DEST" 2>/dev/null || true launchctl load "$PLIST_DEST" echo "Loaded. camera-qrng will start at login and restart if it exits." echo "On every restart it will git-pull and rebuild automatically." echo "Logs: ${ROOT}/logs/" echo "To stop: launchctl unload ${PLIST_DEST}"