skip radicale and officer-caldav on a macOS dev install, not the platform
Hit live: `brew install radicale` fails outright, "No available formula with the name radicale" — it is a pure-Python package (pip/pipx), not something Homebrew carries, unlike every other name in that list. apt/pacman/dnf all package it for real and are untouched. Narrower than removing the feature: officer-caldav (Calendar/Contacts) stays CORE on Linux. On macOS the sidecar has nowhere to find Radicale — resolveRadicale() failing is exactly the "took a whole sidecar down on a fresh install" case its own test already guards against — so CORE_PROCESSES leaves it out on Darwin rather than let it crash-loop. Calendar/Contacts is the one core feature not available on a Mac dev install; nothing else changes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -125,7 +125,14 @@ pkgs_core() {
|
||||
# curl, unzip and the TLS roots ship with macOS; the compilers come from
|
||||
# the Xcode command line tools, which is not a formula — see xcode_clt_*.
|
||||
# brotli is here because macOS ships the library but not the CLI.
|
||||
echo gnupg git jq wget brotli btop htop tree ripgrep fd eza poppler radicale
|
||||
#
|
||||
# radicale has no Homebrew formula — confirmed live ("No available formula with the
|
||||
# name radicale"), it is a pure-Python package normally installed via pip/pipx, not
|
||||
# brew. Left out of a dev install rather than reached for pip here: officer-caldav
|
||||
# (services.sh CORE_PROCESSES) is skipped to match on macOS, so nothing on this
|
||||
# machine expects it to be present. The Linux lists above are untouched — a real
|
||||
# package there, unaffected.
|
||||
echo gnupg git jq wget brotli btop htop tree ripgrep fd eza poppler
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -44,13 +44,6 @@ CORE_PROCESSES=(
|
||||
"officer-claude-code|bun|run src/servers/sidecar/claude/user-instance.ts"
|
||||
"officer-opencode|bun|run src/servers/sidecar/opencode/index.ts"
|
||||
"officer-pty|node|src/servers/sidecar/pty/index.mjs"
|
||||
# Calendar and contacts, CORE since 2026-08-19 rather than an app-store entry.
|
||||
#
|
||||
# It was a Docker service because the app store made everything one, not because Radicale needs a
|
||||
# container — it is a ~2MB Python package, and this sidecar spawns it directly on loopback. A personal
|
||||
# server having a calendar is not an integration with something you already run; it is the baseline.
|
||||
# Radicale needs `python3` and the `radicale` package, both installed by machine-setup.
|
||||
"officer-caldav|bun|run src/servers/sidecar/caldav/index.ts"
|
||||
# Push notifications, CORE since 2026-08-19. Built 2026-07-31, then switched off on 2026-08-13 with
|
||||
# memos and photos when it was slated to become a plugin — the only one of the three never extracted,
|
||||
# so it sat mounted nowhere with its schema commented out.
|
||||
@@ -62,6 +55,21 @@ CORE_PROCESSES=(
|
||||
"officer-notify|bun|run src/servers/sidecar/notify/index.ts"
|
||||
)
|
||||
|
||||
# Calendar and contacts, CORE since 2026-08-19 rather than an app-store entry.
|
||||
#
|
||||
# It was a Docker service because the app store made everything one, not because Radicale needs a
|
||||
# container — it is a ~2MB Python package, and this sidecar spawns it directly on loopback. A personal
|
||||
# server having a calendar is not an integration with something you already run; it is the baseline.
|
||||
# Radicale needs `python3` and the `radicale` package, both installed by machine-setup.
|
||||
#
|
||||
# EXCEPT on macOS: radicale has no Homebrew formula (pkgs_core in machine-setup/lib/packages.sh
|
||||
# leaves it out of the brew list for the same reason), so a dev install has nowhere for this sidecar
|
||||
# to find it — `resolveRadicale()` failing is exactly the "took a whole sidecar down on a fresh
|
||||
# install" case its own test guards against. Left out of a macOS install's process list entirely
|
||||
# rather than crash-looped; Calendar/Contacts are the one core feature not available on a Mac dev
|
||||
# install. The Linux path — and the feature itself — is untouched.
|
||||
[[ "$(uname -s)" == "Darwin" ]] || CORE_PROCESSES+=("officer-caldav|bun|run src/servers/sidecar/caldav/index.ts")
|
||||
|
||||
write_ecosystem() {
|
||||
local dest entry name script args
|
||||
dest="$(ecosystem_file)"
|
||||
|
||||
Reference in New Issue
Block a user