MacRack
Turn your MacBook into an always-on server. No more accidental sleep, screen burn, or glowing keyboards at 3am.
Install / Use
/learn @851-labs/MacRackREADME
<div align="center">
<img width="180" height="180" src="docs/screenshots/icon.png" alt="MacRack icon">
<h1><b>MacRack</b></h1>
<p>Turn your MacBook into an always-on server.<br>No more accidental sleep, screen burn, or glowing keyboards at 3am.</p>
</div>
<div align="center">
<a href="https://github.com/851-labs/macrack/releases/latest">
<img src="https://img.shields.io/badge/macOS-13.0%2B-blue?logo=apple&logoColor=white&style=flat" alt="macOS 13.0+">
</a>
<img src="https://img.shields.io/badge/Swift-6.2-f05138?logo=swift&logoColor=white&style=flat" alt="Swift 6.2">
<a href="https://github.com/851-labs/macrack/releases/latest">
<img src="https://img.shields.io/github/v/release/851-labs/macrack?label=Release&style=flat" alt="Latest Release">
</a>
<a href="https://github.com/851-labs/homebrew-tap">
<img src="https://img.shields.io/badge/Homebrew-851--labs%2Ftap-fbb040?logo=homebrew&logoColor=white&style=flat" alt="Homebrew tap">
</a>
<br>
<a href="https://github.com/851-labs/macrack/releases/latest">
<img src="https://img.shields.io/badge/Download-macOS-black?logo=apple&logoColor=white&style=flat" alt="Download macOS">
</a>
<img src="https://img.shields.io/github/downloads/851-labs/macrack/total?label=downloads&style=flat" alt="Downloads">
<a href="https://deepwiki.com/851-labs/macrack">
<img src="https://img.shields.io/badge/DeepWiki-Docs-4b32c3?style=flat" alt="DeepWiki">
</a>
<a href="LICENSE">
<img src="https://img.shields.io/badge/License-MIT-blue?style=flat" alt="MIT License">
</a>
</div>
Prerequisites
- Enable Auto-login: System Settings → Users & Groups → Automatic Login
- Disable FileVault: required for auto-login to work
Without auto-login, the Launch Agent won’t start until someone logs in.
Installation
brew install 851-labs/tap/macrack
brew services start macrack
Usage
macrack # Show current status (default)
macrack status -v # Verbose status
macrack status -j # JSON output for scripting
macrack config # Show current configuration
macrack config --interval 60 # Set check interval to 60 seconds
macrack logs -n 50 # Show last 50 log lines
macrack logs -f # Follow log output
Service management (via Homebrew):
brew services start macrack
brew services stop macrack
brew services restart macrack
Configuration
Config file location:
~/.config/macrack/config.json
Defaults:
{
"brightnessLockEnabled": true,
"volumeLockEnabled": true,
"keyboardBacklightLockEnabled": true,
"checkIntervalSeconds": 30,
"autoPauseEnabled": true,
"autoPauseIdleThresholdSeconds": 300
}
Agent
The Launch Agent runs macrack agent and:
- Spawns
caffeinate -s -d -i -u - Enforces brightness, keyboard backlight (CoreBrightness), and volume every interval
- Pauses enforcement when user activity is detected
- Reloads configuration on
SIGHUP
Development
swift build
swift run macrack status
Tech Stack
- OpenCode - AI Coding Agent
- Swift 6.2
- Swift Argument Parser - CLI Framework
- Rainbow - Terminal colors
- swift-log - Logging
License
This project is released under the MIT License. See LICENSE for details.
Support
If you like this project, please consider giving it a star.
