feat(macos): add native Homebrew install path #14

Merged
enderofwings merged 4 commits from fix/macos-doc-cleanup into main 2026-08-26 19:06:26 +00:00
4 Commits
Author SHA1 Message Date
Jon Wingender 2614bd10a6 fix(docs): drop the stale memory :8001 reference from the macOS quickstart
package / wheel (pull_request) Waiting to run
The memory microservice was deleted 2026-08-25 when curation moved
in-process (curator.py) - well before this PR was written. Copied over
from the Linux quickstart's older wording.
2026-08-26 14:02:44 -05:00
Jon Wingender 5ea8b2ad72 Merge public/main (PR #12) into macos branch 2026-08-26 13:55:10 -05:00
Athena 214ce07d1f test(macos): cover installer platform guards
package / wheel (pull_request) Waiting to run
2026-08-26 08:19:45 -05:00
Athena KaminskyandClaude Opus 5 93d78c0ad3 feat(macos): native install path via Homebrew
install-macos.sh mirrors install.sh's split: every portable step - git pull,
venv, pip with the right overlay, npm build - stays in bin/sync.py, shared
with Linux and Windows. The script only does what sync.py cannot do for
itself on a bare Mac, which is install the Homebrew packages needed before a
Python exists to run sync.py with.

Two stages had to learn about darwin. ensure_exec_bits() keyed off
`os.name == "nt"`, which is false on macOS, so it ran the Linux path; and
requirements() had no darwin branch. linux_stage() now no-ops there, which is
what makes skipping the Ollama fetch correct rather than an omission:
bin/fetch-ollama.sh only ships a Linux x86-64 binary, and _ollama_bin() in
synapse/ollama_manager.py already prefers the bundled copy and falls back to
whatever `ollama` is on PATH. On macOS that is the brewed one, with Metal
acceleration and no flags needed.

The XFCE desktop branding is Linux-only and was already gated off macOS the
same way, so there is nothing to install for it here.

install-macos.sh joins the shell-parse list in bin/check.sh.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 08:18:47 -05:00