A script to set up a macOS machine for running Moltbot and other automation services.
Forked from thoughtbot/laptop, optimized for headless/server use.
| Original (thoughtbot) | This Fork |
|---|---|
| Heroku CLI + Parity | Removed (not needed) |
| PostgreSQL + Redis | Optional (uncomment if needed) |
| Ruby via asdf | Optional (uncomment if needed) |
| ImageMagick, Poppler | Optional (uncomment if needed) |
| — | Added: gog CLI for Google integration |
| — | Added: htop, ripgrep, fd, jq, yq |
| — | Added: rclone for backups |
| — | Added: Server-optimized macOS settings |
- macOS Sequoia (15.x), Sonoma (14.x), Ventura (13.x), or Monterey (12.x)
- Apple Silicon or Intel
curl --remote-name https://raw.githubusercontent.com/hsztul/laptop/master/mac
sh mac 2>&1 | tee ~/laptop.logcurl --remote-name https://raw.githubusercontent.com/hsztul/laptop/master/laptop.local.example
mv laptop.local.example ~/.laptop.local
# Edit ~/.laptop.local to customize, then re-run:
sh mac 2>&1 | tee ~/laptop.log- Homebrew — Package manager
- Git — Version control
- GitHub CLI — GitHub API from terminal
- Zsh — Shell
- fzf — Fuzzy finder
- tmux — Terminal multiplexer
- ripgrep — Fast search
- fd — Fast find
- The Silver Searcher — Code search
- tree — Directory listing
- asdf — Version manager
- Node.js — Required for Moltbot
- jq / yq — JSON/YAML processing
- Watchman — File watching
The included laptop.local.example adds:
Apps:
- 1Password + CLI
- iTerm2, Warp
- Raycast
- Tailscale (critical for secure Moltbot access)
- Cursor, Claude, ChatGPT
- Obsidian
- Starship prompt
Server Settings:
- Disable sleep on power adapter
- Auto-restart on freeze/power failure
- Moltbot security hardening (mDNS disabled)
- Useful shell aliases
After running the laptop script:
# 1. Install Moltbot
npm install -g moltbot@latest
# 2. Run onboarding wizard
moltbot onboard
# 3. Set up Google integration
gog auth credentials ~/path/to/client_secret.json
gog auth add [email protected]
# 4. Configure Tailscale
open /Applications/Tailscale.app
tailscale up
# 5. Verify security
moltbot security audit --deepSee moltbot-ideas.md for the full secure setup guide.
Edit ~/.laptop.local to add your own packages. Functions like fancy_echo and append_to_zshrc are available.
# Example: Add Python via asdf
add_or_update_asdf_plugin "python" "https://github.com/asdf-community/asdf-python.git"
install_asdf_language "python"Check ~/laptop.log for errors. Open an issue if needed.
Based on thoughtbot/laptop. Original license applies.