bootstrap
Adom Hydrogen (macOS / Lima)
Public Made by Adomby adom
The macOS platform layer for Adom Hydrogen.
← Commit history
README.mdadded+83@@ -0,0 +1,83 @@+# adom/hd-mac-bootstrap++The **macOS** platform layer for Hydrogen Desktop. On a Mac, HD's workspace runs+inside a **Lima Ubuntu VM** (`hd-builder`) that hosts the **`Adom-Workspace`+systemd-nspawn machine**; this package adds everything specific to that runtime on+top of the platform-generic `adom/hd-bootstrap`.++```+adompkg install adom/hd-mac-bootstrap # the golden Lima image installs this+```++## The platform-layered bootstrap stack++```+adom/core ← Adom ecosystem (generic; shared with web Hydrogen)+ └─ adom/hd-bootstrap ← Hydrogen Desktop, platform-GENERIC+ ├─ adom/hd-windows-bootstrap ← WSL2 runtime+ ├─ adom/hd-mac-bootstrap ← THIS — Lima/nspawn runtime+ └─ adom/hd-ubuntu-bootstrap ← native-Ubuntu runtime+```++Each platform layer depends on `adom/hd-bootstrap`, which depends on `adom/core`,+so `core` stays generic across web + desktop Hydrogen and every host OS.++## What this layer adds++- **Dependencies:** `adom/hd-bootstrap` (generic HD) + `adom/adom-workspace-updater`+ (the in-machine systemd updater daemon).+- **Bundled skills:** the macOS-runtime `hd-*` skills — `hd-container`,+ `hd-container-stats`, `hd-networking`, `hd-ports`, `hd-port-watcher`, `hd-setup`,+ `hd-setup-steps`, `hd-topology`, `hd-volume`, `hd-workspace-lifecycle`,+ `hd-workspace-monitoring` (the Lima/nspawn analogs of the Windows layer's WSL2 set,+ sourced from `hydrogen-desktop/skills/public-facing/machine/`).+- **postinstall:** deploys those skills into `~/.claude/skills/` on top of the+ generic layer. Install requires `ADOMPKG_ALLOW_SUDO=1` (the `adom/adom-workspace-updater`+ dep is `needs_sudo`).++## The runtime difference vs. the Windows layer++The **workspace is Linux in both cases** — the layers differ only in *where* that+Linux runs and how the host reaches it:++| | Windows layer | macOS layer (this) |+|---|---|---|+| Linux host | WSL2 Ubuntu distro | Lima VM (`hd-builder`) → nspawn machine (`Adom-Workspace`) |+| Provisioning | `wsl --import` of the golden WSL2 image | `machinectl import-tar` of the golden Lima image |+| Host↔workspace | `\\wsl$` share + WSL networking | Lima virtiofs share + `adom-host` gateway |+| Golden image | `hd-wsl2-image` | `hd-lima-image` |++## The mixed-skill split (`<name>-mac` companions)++`adom/hd-bootstrap` carries the **31 platform-generic** `hd-*` skills. The Windows+layer split **13 mixed** skills into `<name>-windows` companions (e.g.+`hd-api-windows`, `hd-notifications-windows`, `hd-setup-windows`) — the generic core+stays in `hd-bootstrap`, the Windows half drops into `hd-windows-bootstrap`. This+layer carries the parallel **macOS halves** in `skills/<name>-mac/`.++**Companions authored (10):**+- `hd-api-mac` — `adom-host` gateway, `~/.adom/hd-control-url` discovery, vz-no-loopback, `/workspace/*` (nspawn) endpoints (mirror of `hd-api-windows`' `/wsl/*` tables).+- `hd-notifications-mac` — Notification Center toasts + emergency Dock-bounce + the Notifications grant (mirror of `hd-notifications-windows`' WinRT/AUMID).+- `hd-recording-mac` — the native recorder is `#[cfg(windows)]`, so on macOS recording is in-app getDisplayMedia / pup / AD relay; ScreenCaptureKit native recorder **not yet built** (honest gap). Screen Recording TCC.+- `hd-screen-lock-mac` — IOKit `IOPMAssertionCreateWithName`/`PreventUserIdleDisplaySleep`, `pmset -g assertions`, `caffeinate` (vs `SetThreadExecutionState`).+- `hd-self-screenshot-mac` — `screencapture`/CoreGraphics + CDP `Page.captureScreenshot`; per-panel crop resolves the rect via the `dom.measure` RPC (no CDP on WKWebView) + `image`-crate crop (vs Win32 `PrintWindow`).+- `hd-browser-picker-mac` — WKWebView-over-`localhost` interception + LaunchServices `open -a` native browsers (vs WebView2/COM 6-layer interception).+- `hd-permissions-mac` — the macOS TCC model (Screen Recording, Accessibility, Automation, Camera/Mic) + preflight/relaunch (vs UAC).+- `hd-open-url-mac` — `open`/`open -a … --new-window` LaunchServices launch + control-URL discovery (vs `chrome.exe`/`msedge.exe`).+- `hd-ui-mac` — driving the UI via the `hd-ui-command`→`/ui/_result` command bus + `invoke_ui_action` (WKWebView has no CDP; raw CDP clicking is Windows-only).+- `hd-captions-mac` — workspace caption is platform-neutral; the desktop overlay (`desktop_caption`) is a **Windows-only** stub on macOS (honest gap).++> Reconcile the exact 13-skill set against `adom/hd-windows-bootstrap`'s companions+> (its source is `--hide-source` sealed; read it from a workspace with org access).+> The machine-bucket skills above ship whole (they map to the Windows layer's *clean*+> skills, not its mixed companions).++> Note: the macОС-runtime skills in `skills/` that are **whole** (the `machine/` bucket+> — `hd-setup`, `hd-container`, …) correspond to the Windows layer's *clean* skills, not+> its mixed companions, so they ship complete rather than as `-mac` halves. The exact+> 13-skill set should be reconciled against `adom/hd-windows-bootstrap`'s companions+> (its source is `--hide-source` sealed; read it from a workspace with org access).++> NOTE — naming: the canonical sibling slug is **`hd-mac-bootstrap`** (as referenced+> by `adom/hd-windows-bootstrap`'s own description and stack diagram), not+> `hd-macos-bootstrap`.
page.jsonadded+24@@ -0,0 +1,24 @@+{+ "schema_version": 1,+ "slug": "hd-mac-bootstrap",+ "type": "bootstrap",+ "version": "1.0.0",+ "title": "hd-mac-bootstrap",+ "brief": "The macOS platform layer for Hydrogen Desktop",+ "readme": "# adom/hd-mac-bootstrap\n\nThe **macOS** platform layer for Hydrogen Desktop. On a Mac, HD's workspace runs\ninside a **Lima Ubuntu VM** (`hd-builder`) that hosts the **`Adom-Workspace`\nsystemd-nspawn machine**; this package adds everything specific to that runtime on\ntop of the platform-generic `adom/hd-bootstrap`.\n\n```\nadompkg install adom/hd-mac-bootstrap # the golden Lima image installs this\n```\n\n## The platform-layered bootstrap stack\n\n```\nadom/core ← Adom ecosystem (generic; shared with web Hydrogen)\n └─ adom/hd-bootstrap ← Hydrogen Desktop, platform-GENERIC\n ├─ adom/hd-windows-bootstrap ← WSL2 runtime\n ├─ adom/hd-mac-bootstrap ← THIS — Lima/nspawn runtime\n └─ adom/hd-ubuntu-bootstrap ← native-Ubuntu runtime\n```\n\nEach platform layer depends on `adom/hd-bootstrap`, which depends on `adom/core`,\nso `core` stays generic across web + desktop Hydrogen and every host OS.\n\n## What this layer adds\n\n- **Dependencies:** `adom/hd-bootstrap` (generic HD) + `adom/adom-workspace-updater`\n (the in-machine systemd updater daemon).\n- **Bundled skills:** the macOS-runtime `hd-*` skills — `hd-container`,\n `hd-container-stats`, `hd-networking`, `hd-ports`, `hd-port-watcher`, `hd-setup`,\n `hd-setup-steps`, `hd-topology`, `hd-volume`, `hd-workspace-lifecycle`,\n `hd-workspace-monitoring` (the Lima/nspawn analogs of the Windows layer's WSL2 set,\n sourced from `hydrogen-desktop/skills/public-facing/machine/`).\n- **postinstall:** deploys those skills into `~/.claude/skills/` on top of the\n generic layer. Install requires `ADOMPKG_ALLOW_SUDO=1` (the `adom/adom-workspace-updater`\n dep is `needs_sudo`).\n\n## The runtime difference vs. the Windows layer\n\nThe **workspace is Linux in both cases** — the layers differ only in *where* that\nLinux runs and how the host reaches it:\n\n| | Windows layer | macOS layer (this) |\n|---|---|---|\n| Linux host | WSL2 Ubuntu distro | Lima VM (`hd-builder`) → nspawn machine (`Adom-Workspace`) |\n| Provisioning | `wsl --import` of the golden WSL2 image | `machinectl import-tar` of the golden Lima image |\n| Host↔workspace | `\\\\wsl$` share + WSL networking | Lima virtiofs share + `adom-host` gateway |\n| Golden image | `hd-wsl2-image` | `hd-lima-image` |\n\n## The mixed-skill split (`<name>-mac` companions)\n\n`adom/hd-bootstrap` carries the **31 platform-generic** `hd-*` skills. The Windows\nlayer split **13 mixed** skills into `<name>-windows` companions (e.g.\n`hd-api-windows`, `hd-notifications-windows`, `hd-setup-windows`) — the generic core\nstays in `hd-bootstrap`, the Windows half drops into `hd-windows-bootstrap`. This\nlayer carries the parallel **macOS halves** in `skills/<name>-mac/`.\n\n**Companions authored (10):**\n- `hd-api-mac` — `adom-host` gateway, `~/.adom/hd-control-url` discovery, vz-no-loopback, `/workspace/*` (nspawn) endpoints (mirror of `hd-api-windows`' `/wsl/*` tables).\n- `hd-notifications-mac` — Notification Center toasts + emergency Dock-bounce + the Notifications grant (mirror of `hd-notifications-windows`' WinRT/AUMID).\n- `hd-recording-mac` — the native recorder is `#[cfg(windows)]`, so on macOS recording is in-app getDisplayMedia / pup / AD relay; ScreenCaptureKit native recorder **not yet built** (honest gap). Screen Recording TCC.\n- `hd-screen-lock-mac` — IOKit `IOPMAssertionCreateWithName`/`PreventUserIdleDisplaySleep`, `pmset -g assertions`, `caffeinate` (vs `SetThreadExecutionState`).\n- `hd-self-screenshot-mac` — `screencapture`/CoreGraphics + CDP `Page.captureScreenshot`; per-panel crop resolves the rect via the `dom.measure` RPC (no CDP on WKWebView) + `image`-crate crop (vs Win32 `PrintWindow`).\n- `hd-browser-picker-mac` — WKWebView-over-`localhost` interception + LaunchServices `open -a` native browsers (vs WebView2/COM 6-layer interception).\n- `hd-permissions-mac` — the macOS TCC model (Screen Recording, Accessibility, Automation, Camera/Mic) + preflight/relaunch (vs UAC).\n- `hd-open-url-mac` — `open`/`open -a … --new-window` LaunchServices launch + control-URL discovery (vs `chrome.exe`/`msedge.exe`).\n- `hd-ui-mac` — driving the UI via the `hd-ui-command`→`/ui/_result` command bus + `invoke_ui_action` (WKWebView has no CDP; raw CDP clicking is Windows-only).\n- `hd-captions-mac` — workspace caption is platform-neutral; the desktop overlay (`desktop_caption`) is a **Windows-only** stub on macOS (honest gap).\n\n> Reconcile the exact 13-skill set against `adom/hd-windows-bootstrap`'s companions\n> (its source is `--hide-source` sealed; read it from a workspace with org access).\n> The machine-bucket skills above ship whole (they map to the Windows layer's *clean*\n> skills, not its mixed companions).\n\n> Note: the macОС-runtime skills in `skills/` that are **whole** (the `machine/` bucket\n> — `hd-setup`, `hd-container`, …) correspond to the Windows layer's *clean* skills, not\n> its mixed companions, so they ship complete rather than as `-mac` halves. The exact\n> 13-skill set should be reconciled against `adom/hd-windows-bootstrap`'s companions\n> (its source is `--hide-source` sealed; read it from a workspace with org access).\n\n> NOTE — naming: the canonical sibling slug is **`hd-mac-bootstrap`** (as referenced\n> by `adom/hd-windows-bootstrap`'s own description and stack diagram), not\n> `hd-macos-bootstrap`.\n",+ "visibility": "public",+ "author": {+ "id": "695820315b5f1e4db2fcf602",+ "name": "Kyle Bergstedt",+ "email": "[email protected]"+ },+ "tags": [],+ "license": "proprietary",+ "hero": null,+ "sample_prompts": [],+ "discovery_triggers": [],+ "discovery_pitch": null,+ "metadata": {},+ "created_at": "2026-06-25T15:23:06.674Z",+ "updated_at": "2026-06-25T15:23:06.674Z"+}