Carries #9 (git.enderofwings.com/enderofwings/NexusOS/pulls/9, Athena) forward with one small fix found in review: the macOS quickstart in README.md said "memory :8001, backend :8000" - the memory microservice was deleted 2026-08-25 (well before this PR), so that line was stale on arrival, likely copied from the Linux quickstart's older wording. Dropped the dead reference.
Everything else here reviewed clean: platform detection is correct (os.name alone doesn't exclude macOS since it's 'posix' on both Linux and Darwin, so the explicit sys.platform == "darwin" check is necessary and right), install-macos.sh only uses static brew package names (no injection surface), and the three new platform-guard tests pass.
Built on 9/head (214ce07) plus this one commit, merged forward onto current main (which now also carries #11 and #12). Merge this instead of #9.
Carries #9 (git.enderofwings.com/enderofwings/NexusOS/pulls/9, Athena) forward with one small fix found in review: the macOS quickstart in README.md said "memory :8001, backend :8000" - the memory microservice was deleted 2026-08-25 (well before this PR), so that line was stale on arrival, likely copied from the Linux quickstart's older wording. Dropped the dead reference.
Everything else here reviewed clean: platform detection is correct (`os.name` alone doesn't exclude macOS since it's 'posix' on both Linux and Darwin, so the explicit `sys.platform == "darwin"` check is necessary and right), `install-macos.sh` only uses static brew package names (no injection surface), and the three new platform-guard tests pass.
Built on 9/head (214ce07) plus this one commit, merged forward onto current main (which now also carries #11 and #12). Merge this instead of #9.
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>
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Carries #9 (git.enderofwings.com/enderofwings/NexusOS/pulls/9, Athena) forward with one small fix found in review: the macOS quickstart in README.md said "memory :8001, backend :8000" - the memory microservice was deleted 2026-08-25 (well before this PR), so that line was stale on arrival, likely copied from the Linux quickstart's older wording. Dropped the dead reference.
Everything else here reviewed clean: platform detection is correct (
os.namealone doesn't exclude macOS since it's 'posix' on both Linux and Darwin, so the explicitsys.platform == "darwin"check is necessary and right),install-macos.shonly uses static brew package names (no injection surface), and the three new platform-guard tests pass.Built on 9/head (
214ce07) plus this one commit, merged forward onto current main (which now also carries #11 and #12). Merge this instead of #9.