Local LLMs with Ollama on macOS A developer documented a working setup for running local LLMs with Ollama on a 24GB MacBook Pro M4 Pro, storing models on an external drive via the OLLAMA_MODELS environment variable. The writeup covers terminal, menu-bar app, symlink and LaunchAgent methods for persisting the path, plus fixes for port conflicts and unmounted drives. On the test machine, gpt-oss:20b loaded from the external drive and generated at roughly 52 tok/s under Ollama 0.40.14. Setup for a MacBook Pro M4 Pro 24GB with models stored on the external drive /Volumes/ROG PRO . Verified on this machine: gpt-oss:20b loads from the drive and generates at ~52 tok/s Ollama 0.40.14 . brew install ollama CLI or download the app from https://ollama.com Check: ollama -v Models live in OLLAMA MODELS . Default is ~/.ollama/models . mkdir -p /Volumes/ROG PRO/ollama/models touch /Volumes/ROG PRO/ollama/models/.t && rm /Volumes/ROG PRO/ollama/models/.t writable? If not writable: Finder → drive → Cmd+I → turn off "Ignore ownership". NTFS drives are read-only on macOS; use APFS. | Setup | Command | |---|---| | Terminal ollama serve | echo 'export OLLAMA MODELS=/Volumes/ROG PRO/ollama/models' ~/.zshrc && source ~/.zshrc | | Menu bar app until reboot | launchctl setenv OLLAMA MODELS /Volumes/ROG PRO/ollama/models , then quit and reopen the app | | Symlink works everywhere | mv ~/.ollama/models /Volumes/ROG PRO/ollama/ ; ln -sfn /Volumes/ROG PRO/ollama/models ~/.ollama/models | Persistent menu-bar setting: create ~/Library/LaunchAgents/ollama.models.plist :