NexusLink on macOS
Installing
| Artifact | Use |
|---|---|
nexuslink_<version>_darwin.pkg |
Signed and notarised installer package (recommended). Installs NexusLink.app, links /usr/local/bin/nexuslink, installs and starts the daemon (launchd), launches the UI |
| Homebrew | brew install nexusremotesolutions/tap/nexuslink (CLI/daemon) and brew install --cask nexusremotesolutions/tap/nexuslink-ui once the tap is published |
| Archive | nexuslink_<version>_darwin_<arch>.tar.gz for manual installs of the CLI |
Silent install of the pkg:
sudo installer -pkg nexuslink_1.0.0_darwin.pkg -target /
Then:
nexuslink up --management-url https://nexuslink.example.com --setup-key <KEY>
nexuslink status
The daemon runs as launchd service nexuslink; the UI sits in the menu bar
(template icon that follows light/dark mode). Logs:
/var/log/nexuslink/. State: /var/lib/nexuslink/.
MDM (Jamf, Mosyle, Kandji, JumpCloud, Intune)
- Configuration profile:
docs/nexuslink-macos.mobileconfig - Bare managed-preferences plist:
docs/com.nexusremotesolutions.nexuslink.plist - Preference domain / bundle identifier:
com.nexusremotesolutions.nexuslink - The daemon reads
/Library/Managed Preferences/com.nexusremotesolutions.nexuslink.plist - Post-install helper for MDM scripts:
docs/nexuslink-macos.sh
Building
go build -o nexuslink ./client # CLI/daemon
cd client/ui && wails3 task package && cd ../.. # NexusLink.app (needs wails3 + pnpm)
Packaging metadata: client/ui/build/config.yml,
client/ui/build/darwin/Info.plist, icons in client/ui/build/darwin/icons.icns
and the Icon Composer bundle client/ui/build/appicon.icon/. The pkg
pre/post-install scripts are in release_files/darwin_pkg/, the Homebrew cask
template in client/ui/nexuslink-ui.rb.tmpl.
Sign with a Developer ID Application certificate, build the pkg with
productbuild --sign "Developer ID Installer: ..." and notarise with
xcrun notarytool submit ... --wait before distribution.