Loading...
Loading...
Use when setting up a Mac (especially Mac Mini) for unattended 24/7 server operation, headless use, or remote-only access. Covers sleep prevention, screen saver, Wake-on-LAN, auto-restart, App Nap, and SSH enablement.
npx skill4agent add soulmachine/skills mac-mini-as-headless-serversudo| Setting | Command | Effect |
|---|---|---|
| Screen saver off | | Disables screen saver activation |
| Screen lock off | | No password on wake |
| Lock delay off | | Immediate effect |
| System sleep off | | Never sleep |
| Display sleep off | | Never turn off display |
| Disk sleep off | | Never spin down disks |
| Dim before sleep off | | No pre-sleep dimming |
| Wake-on-LAN | | Wake on network access |
| Auto-restart | | Restart after power loss |
| App Nap off | | Prevents app throttling |
| SSH on | | Enables Remote Login |
REAL_USER$SUDO_USER#!/usr/bin/env bash
set -euo pipefail
# Require root
if [[ $EUID -ne 0 ]]; then
echo "Error: run with sudo."
exit 1
fi
REAL_USER="${SUDO_USER:-$USER}"
# 1. Disable screen saver
sudo -u "$REAL_USER" defaults -currentHost write com.apple.screensaver idleTime -int 0
# 2. Disable screen lock password
sudo -u "$REAL_USER" defaults write com.apple.screensaver askForPassword -int 0
sudo -u "$REAL_USER" defaults write com.apple.screensaver askForPasswordDelay -int 0
# 3. Prevent all sleep (charger profile — only profile on Mac Mini)
pmset -c sleep 0
pmset -c displaysleep 0
pmset -c disksleep 0
pmset -c halfdim 0
# 4. Wake-on-LAN
pmset -c womp 1
# 5. Auto-restart after power failure
pmset -c autorestart 1
# 6. Disable App Nap globally
sudo -u "$REAL_USER" defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
# 7. Enable SSH
systemsetup -setremotelogin on 2>/dev/null || {
launchctl load -w /System/Library/LaunchDaemons/ssh.plist 2>/dev/null || true
}
# Verify
pmset -gpmsetsystemsetupdefaultssudo -u-c-csudo pmset -c displaysleep 10 # 10 minutes