PartialHow to

Install on a Mac

Coming soon — a signed Mandala.app to download. Today the app is built from source by people with an Apple Developer account; the steps are below.

Mandala for Mac is the same mandala program, packaged as Mandala.app. One process is your Mac's node, its window and its menu bar item. There is no helper and no second service.

What the app does

  • Window — shows your home's Workspace, or this Mac's own node (menu bar → Show the home server / Show this Mac's node). Closing the window keeps Mandala running in the menu bar. Quit with ⌘Q; the node finishes what it is writing first.
  • Start at login — from the menu bar item. The app itself becomes the login item.
  • Join your identity — on a device you already use, Settings → Security → Add a device shows a code and a QR (Join a device with a code); Join your identity… in the Mac's menu bar asks for that code. See The Mac app as a second node.
  • Updates — the app checks your home's update channel at launch and every 6 hours, and installs only a release signed with your release key and by the same Apple developer. See Updates.
  • Allow computer use… — asks macOS for Accessibility and Screen Recording, for the day your accomplice can use this Mac Coming soon.

Where things live

WhatWhere
The node's data~/Library/Application Support/Mandala/data
Optional settings (KEY=VALUE, as on a server)~/Library/Application Support/Mandala/mandala.env
Logs~/Library/Logs/Mandala/mandala.log
The node's addresshttp://127.0.0.1:8790

Build it from source (developers)

You need an Apple silicon Mac with macOS 15 or later, Xcode, Homebrew, rustup and Node, and an Apple Developer Program membership for signing and notarization.

echo 'APPLE_TEAM_ID=XXXXXXXXXX' > applications/apple/apple.local.env
applications/apple/scripts/setup-mac.sh      # once: tools, notarization credentials, release key
applications/apple/scripts/build-mac.sh      # builds and signs build/Mandala.app
applications/apple/scripts/notarize-mac.sh   # notarizes and staples
applications/apple/scripts/install-mac.sh    # installs into /Applications and opens it

setup-mac.sh creates your release key in ~/.mandala-release/update.key. Back it up: it is what authorizes updates to your Mac apps, and it never goes on a server.

Without the app

A plain build can also run as a launchd agent (mandala/deploy/macos/install.sh), listening on http://127.0.0.1:8787 with its data in ~/.mandala. This build is not notarized.