Mac Workstation Setup
Configuration for the primary Mac workstation (ManzanaPro) that connects to the homelab. Covers NFS mounts, file management, and app configuration.
NFS Mounts
Four NFS shares are mounted from chizuru to ~/mounts/:
| Mount | NFS export | Purpose |
|---|---|---|
~/mounts/unohana |
192.168.1.125:/mnt/all-might |
Media libraries (Grimmory, RomM, Shoko) |
~/mounts/urahara |
192.168.1.125:/mnt/pve/urahara |
Bulk app data (Karakeep, Paperless, Ollama) |
~/mounts/filedump |
192.168.1.125:/mnt/filedump |
General storage |
~/mounts/dlbox |
192.168.1.125:/mnt/seedbox |
Seedbox downloads |
All shares are served from chizuru (192.168.1.125) via NFS. No credentials needed — NFS uses IP-based authentication configured in /etc/exports on chizuru.
How it works
Mounts are managed by a script + LaunchDaemon/LaunchAgent:
~/bin/mount-nfs.sh— mounts all shares, waits for network at boot, skips already-mounted shares/Library/LaunchDaemons/com.homelab.mount-nfs.plist— runs the script at boot~/Library/LaunchAgents/com.homelab.mount-nfs-wake.plist— re-runs the script on network state changes (wake from sleep, reconnect)
Troubleshooting
# Check mount status
mount | grep mounts
# View mount script log
cat /tmp/mount-nfs.log
# Manual remount
sudo ~/bin/mount-nfs.sh
# If mounts show permission denied or are stale
sudo umount ~/mounts/*
sudo ~/bin/mount-nfs.sh
# Verify NFS exports are available from chizuru
showmount -e 192.168.1.125
Previous approaches (replaced)
- SMB + LaunchDaemon — SMB mounts disconnected frequently on macOS, especially after sleep/wake. Replaced with NFS.
- autofs — Before SMB LaunchDaemon, used autofs (
/etc/auto_smb). Unreliable: idle timeouts, no auto-reconnect after sleep.
File Manager: ForkLift 4
ForkLift ($19.95 lifetime) is used instead of Finder for managing homelab files. Installed via Homebrew:
brew install --cask forklift
Setup
- Full Disk Access — required. System Settings > Privacy & Security > Full Disk Access > add ForkLift
- Favorites — navigate to each mount path and drag to the sidebar:
~/mounts/unohana~/mounts/urahara~/mounts/filedump~/mounts/dlbox
Notes
- ForkLift uses the OS-level NFS mounts, not its own connections.
- If ForkLift shows "0 results" when browsing root (
/), this is a macOS Tahoe Full Disk Access quirk. It does not affect browsing home directory or mounts. - The mount script keeps shares persistent; ForkLift just browses the local paths with its dual-pane UI.
Future
- [ ] Document other Mac apps and their homelab integration
- [ ] Provision Mac workstation setup via IaC (Homebrew bundle, defaults, scripts)