app
Adom Hydrogen (macOS)
Public Made by Adomby adom
The full Adom Hydrogen workspace as a native macOS app (Apple Silicon) — AI-driven electronics design, running locally.
← Commit history
Publish 0.1.98
20 files changed
+223−30
._README.md._SKILL.md._install.sh._package.json._page.json._uninstall.shREADME.md+20−7SKILL.md+49dist/macos/._Hydrogen.Desktop_0.1.98_aarch64.dmgdist/macos/Hydrogen.Desktop_0.1.98_aarch64.dmgdocs/._hero.pngdocs/hero.pnginstall.sh+2−2package.json+38−6page.json+48−5screenshots/._hero.pngscreenshots/._workspace.pngscreenshots/hero.pngscreenshots/workspace.pnguninstall.sh+66−10._README.mdadded⋯ 1 unchanged line ⋯
._SKILL.mdadded⋯ 1 unchanged line ⋯
._install.shadded⋯ 1 unchanged line ⋯
._package.jsonadded⋯ 1 unchanged line ⋯
._page.jsonadded⋯ 1 unchanged line ⋯
._uninstall.shadded⋯ 1 unchanged line ⋯
README.md+20−7@@ -4,15 +4,27 @@ The full Adom Hydrogen workspace as a native **macOS** app — AI-driven electro design, running locally on Apple Silicon. This is the macOS port of [Hydrogen Desktop](/adom/hydrogen-desktop) (the Windows-release). It is **self-contained**: the app ships its own Lima runtime and the-workspace golden image, so first launch runs the entire setup **with no extra-installs and no clicks** — no Homebrew, no Docker, no manual prerequisites.+release). First launch runs the entire setup **almost hands-free** — no Homebrew, no+Docker, no manual prerequisites. The app sets up its own lightweight VM runtime and+downloads the workspace image automatically on first run (both cached afterward). The+only prompts are a one-time **Rosetta** install (one click, if you don't already have+it) and your Adom + Claude sign-in.++++++> Screenshots above are from the shared Hydrogen Desktop editor UI (identical on+> macOS); native macOS captures will replace them. ## Requirements - **Apple Silicon** Mac (M1 or newer) — arm64 only. - **macOS 13 (Ventura) or later** — uses Apple's Virtualization.framework.+- **Rosetta 2** — runs the x86-64 Adom tools inside the workspace. HD installs it for you on first launch if it's missing (one click); no Terminal needed.+- **Network on first launch** — downloads the VM runtime (~30MB) + workspace image (~554MB) once (cached after). - ~3 GB free disk for the workspace VM + image.+- **Bare-metal Mac** — won't run inside a nested VM (Apple Silicon doesn't support nested virtualization). ## Install @@ -29,11 +41,12 @@ Or download the DMG, open it, and drag **Hydrogen Desktop** to **Applications**. ## What happens on first launch -The app runs the workspace setup automatically — zero clicks:+The app runs the workspace setup automatically: -1. Brings up its bundled Lima utility VM (Apple Virtualization.framework, no QEMU).-2. Imports the workspace machine from the bundled golden image and boots it.-3. Starts the editor (code-server) and connects the AI workspace.+1. Installs **Rosetta** if it's missing (one click) — needed to run the x86-64 Adom tools.+2. Brings up its bundled Lima utility VM (Apple Virtualization.framework, no QEMU).+3. Imports the workspace machine from the bundled golden image and boots it.+4. Starts the editor (code-server), signs you in to Adom + Claude, and connects the AI workspace. x86-64 Adom tools run under Rosetta inside the workspace; native arm64 code-server / Node / Claude run directly.
SKILL.mdadded+49@@ -0,0 +1,49 @@+---+name: hydrogen-desktop-macos+description: Operate Hydrogen Desktop on macOS (Apple Silicon) — install from the DMG, run the zero-click first-launch setup, and troubleshoot the bundled Lima workspace VM. Use when a user is installing or running the native macOS build of Hydrogen Desktop, hits Gatekeeper warnings, or the workspace machine won't come up. Trigger words — hydrogen desktop mac, HD macOS, install hydrogen desktop mac, lima workspace, hd-builder, Adom-Workspace, gatekeeper hydrogen, mac dmg hydrogen.+---++# Hydrogen Desktop (macOS) — operate++The native macOS build of Hydrogen Desktop. Apple Silicon (arm64) only, macOS 13+.+First launch runs the whole setup automatically — no Homebrew, no Docker, no clicks.+The app downloads its own lightweight VM runtime (Lima) + the workspace image on first+run (both cached), so there are no manual prerequisites.++## Install++```bash+adompkg install hydrogen-desktop-macos+```++Or open the DMG and drag **Hydrogen Desktop** to **Applications**.++## First launch (near-hands-free setup)++Launching the app from /Applications runs the setup cascade. The only prompts are a+one-time Rosetta install and the Adom + Claude sign-in:++1. Installs **Rosetta** if missing (one click) — runs the x86-64 Adom tools in the workspace.+2. Brings up the bundled Lima utility VM `hd-builder` (Apple Virtualization.framework).+3. Imports the workspace machine `Adom-Workspace` from the bundled golden image, boots it.+4. Starts the editor (code-server), signs in to Adom + Claude, and connects the AI workspace.++## Troubleshooting++- **Gatekeeper warns on first open** ("developer cannot be verified") — this build is+ not yet notarized. Right-click the app → **Open** once to approve it.+- **"Rosetta is required" gate, or the workspace download hangs forever** — you're+ almost certainly running inside a **nested VM** (e.g. VirtualBuddy). Apple Silicon+ doesn't support nested virtualization, so the workspace VM can't boot. Run on a real+ Mac (a separate user account is a fine clean test environment).+- **Workspace won't start** — check the VM: `limactl list` should show `hd-builder`+ running. Inspect the machine: `limactl shell hd-builder -- sudo machinectl list`+ (expect `Adom-Workspace`).+- **Reset the VM** (re-provision from scratch): `limactl delete hd-builder`, then+ relaunch the app.++## Uninstall++```bash+adompkg uninstall hydrogen-desktop-macos+```
dist/macos/._Hydrogen.Desktop_0.1.98_aarch64.dmgadded⋯ 1 unchanged line ⋯
dist/macos/Hydrogen.Desktop_0.1.98_aarch64.dmgadded⋯ 1 unchanged line ⋯
docs/._hero.pngadded⋯ 1 unchanged line ⋯
docs/hero.pngadded⋯ 1 unchanged line ⋯
install.sh+2−2@@ -1,7 +1,7 @@ #!/usr/bin/env bash # Install Hydrogen Desktop (macOS) — mounts the bundled DMG and copies the app to-# /Applications. The .app is self-contained: it ships its own Lima runtime + the-# workspace golden image, so first launch runs the whole setup with no extra installs.+# /Applications. On first launch the app downloads its own VM runtime + workspace+# image automatically, so setup runs with no extra installs and no clicks. # # Apple Silicon only (arm64). Runs from the extracted adompkg module dir. set -euo pipefail
package.json+38−6@@ -2,11 +2,43 @@ "name": "hydrogen-desktop-macos", "slug": "hydrogen-desktop-macos", "type": "app",- "version": "0.1.51",+ "version": "0.1.98", "description": "The full Adom Hydrogen experience as a native macOS desktop app (Apple Silicon).", "dependencies": {},- "scripts": {"install": "./install.sh", "uninstall": "./uninstall.sh"},- "files": ["README.md", "page.json", "install.sh", "uninstall.sh", "dist/**", "screenshots/**"],- "install": {"binary_name": "hydrogen-desktop-macos"},- "metadata": {"platform": "macos", "arch": "arm64"}-}+ "scripts": {+ "install": "./install.sh",+ "uninstall": "./uninstall.sh"+ },+ "files": [+ "SKILL.md",+ "README.md",+ "page.json",+ "install.sh",+ "uninstall.sh",+ "dist/**",+ "screenshots/**",+ "docs/**"+ ],+ "install": {+ "binary_name": "hydrogen-desktop-macos"+ },+ "metadata": {+ "platform": "macos",+ "arch": "arm64"+ },+ "tags": [+ "desktop-app",+ "macos",+ "hydrogen-desktop",+ "eda",+ "electronics-design",+ "pcb",+ "ai-workspace",+ "claude"+ ],+ "hero": {+ "headline": "Hydrogen Desktop for macOS",+ "subhead": "The full Adom Hydrogen workspace \u2014 AI-driven electronics design, native on Apple Silicon.",+ "screenshot": "docs/hero.png"+ }+}
page.json+48−5@@ -4,9 +4,52 @@ "slug": "hydrogen-desktop-macos", "title": "Hydrogen Desktop (macOS)", "brief": "The full Adom Hydrogen workspace as a native macOS app (Apple Silicon) — AI-driven electronics design, running locally.",- "version": "0.1.51",- "install": {"binary_name": "hydrogen-desktop-macos"},+ "version": "0.1.98",+ "install": {+ "binary_name": "hydrogen-desktop-macos"+ }, "license": "proprietary",- "visibility": "private",- "metadata": {"platform": "macos", "arch": "arm64", "kind": "desktop-app"}-}+ "visibility": "public",+ "metadata": {+ "platform": "macos",+ "arch": "arm64"+ },+ "name": "hydrogen-desktop-macos",+ "description": "The full Adom Hydrogen experience as a native macOS desktop app (Apple Silicon).",+ "dependencies": {},+ "scripts": {+ "install": "./install.sh",+ "uninstall": "./uninstall.sh"+ },+ "files": [+ "SKILL.md",+ "README.md",+ "page.json",+ "install.sh",+ "uninstall.sh",+ "dist/**",+ "screenshots/**",+ "docs/**"+ ],+ "tags": [+ "desktop-app",+ "macos",+ "hydrogen-desktop",+ "eda",+ "electronics-design",+ "pcb",+ "ai-workspace",+ "claude"+ ],+ "hero": {+ "type": "billboard",+ "headline": "Hydrogen Desktop for macOS",+ "subhead": "The full Adom Hydrogen workspace — AI-driven electronics design, native on Apple Silicon.",+ "screenshot": "docs/hero.png"+ },+ "org": "adom",+ "author": {+ "name": "Kyle Bergstedt",+ "email": "[email protected]"+ }+}
screenshots/._hero.pngadded⋯ 1 unchanged line ⋯
screenshots/._workspace.pngadded⋯ 1 unchanged line ⋯
screenshots/hero.pngadded⋯ 1 unchanged line ⋯
screenshots/workspace.pngadded⋯ 1 unchanged line ⋯
uninstall.sh+66−10@@ -1,13 +1,69 @@ #!/usr/bin/env bash-# Uninstall Hydrogen Desktop (macOS): remove the app. Leaves the user's workspace-# data and the Lima utility VM in place (remove those manually if desired:-# limactl delete hd-builder # destroys the HD utility VM-# rm -rf "$HOME/Library/Application Support/adom" # cached golden image + state-set -euo pipefail-DEST="/Applications/Hydrogen Desktop.app"-if [ -d "$DEST" ]; then- rm -rf "$DEST"- echo "OK: removed $DEST"+# Fully uninstall Hydrogen Desktop (macOS): the app, all HD state, the workspace+# machine + HD's downloaded Lima runtime + cached golden image, and the webview data.+#+# Surgical about Lima: deletes ONLY HD's `hd-builder` VM — never other Lima VMs the+# user may have, and never the shared Lima download cache (left in place; the script+# tells you how to reclaim it).+#+# Idempotent — safe to re-run; skips whatever is already gone.+set -uo pipefail # NOT -e: keep going past pieces that are already absent++APP="/Applications/Hydrogen Desktop.app"+SUPPORT="$HOME/Library/Application Support"+log() { echo " $*"; }++echo "Uninstalling Hydrogen Desktop (macOS)…"++# 1. Quit HD (and its embedded Adom Desktop) if running.+osascript -e 'quit app "Hydrogen Desktop"' >/dev/null 2>&1 || true+pkill -f "Hydrogen Desktop" 2>/dev/null || true+pkill -f "Adom Desktop" 2>/dev/null || true+sleep 1++# 2. Tear down HD's Lima VM (only hd-builder). Find a usable limactl: HD's downloaded+# copy, a system install, or the one bundled in the app — whichever exists.+LIMACTL=""+for c in "$SUPPORT/adom/lima/bin/limactl" /opt/homebrew/bin/limactl /usr/local/bin/limactl \+ "$APP/Contents/Resources/lima/bin/limactl"; do+ [ -x "$c" ] && LIMACTL="$c" && break+done+if [ -n "$LIMACTL" ] && "$LIMACTL" list 2>/dev/null | grep -q '^hd-builder'; then+ log "stopping + deleting Lima VM hd-builder…"+ "$LIMACTL" stop -f hd-builder >/dev/null 2>&1 || true+ "$LIMACTL" delete -f hd-builder >/dev/null 2>&1 || true else- echo "Hydrogen Desktop is not installed in /Applications."+ log "no hd-builder Lima VM (or no limactl) — skipping VM teardown" fi++# 3. Remove the app.+if [ -d "$APP" ]; then rm -rf "$APP" && log "removed $APP"; else log "app not in /Applications"; fi++# 4. Remove ALL HD state: app data, downloaded Lima + cached image, webview data,+# prefs, and saved window state.+rm -rf \+ "$SUPPORT/hydrogen-desktop" \+ "$SUPPORT/adom" \+ "$HOME/Library/Caches/inc.adom.hydrogen-desktop" \+ "$HOME/Library/WebKit/inc.adom.hydrogen-desktop" \+ "$HOME/Library/HTTPStorages/inc.adom.hydrogen-desktop" \+ "$HOME/Library/HTTPStorages/inc.adom.hydrogen-desktop.binarycookies" \+ "$HOME/Library/Preferences/inc.adom.hydrogen-desktop.plist" \+ "$HOME/Library/Saved Application State/inc.adom.hydrogen-desktop.savedState" 2>/dev/null || true+log "removed app data, downloaded Lima, cached image, and webview data (cookies/session)"++# 5. If ~/.lima now holds no VMs (only _config), remove it. Never touch other VMs.+if [ -d "$HOME/.lima" ]; then+ vms="$(find "$HOME/.lima" -mindepth 1 -maxdepth 1 -type d ! -name '_*' 2>/dev/null | wc -l | tr -d ' ')"+ if [ "$vms" = "0" ]; then rm -rf "$HOME/.lima" && log "removed empty ~/.lima"+ else log "left ~/.lima — it still has $vms other Lima VM(s)"; fi+fi++# 6. Shared Lima download cache: left in place (it's keyed by URL and shared with any+# other Lima usage). Reclaim it manually if you don't use Lima elsewhere.+if [ -d "$HOME/Library/Caches/lima" ]; then+ log "note: ~/Library/Caches/lima (shared Lima image cache, ~600MB) left in place —"+ log " 'rm -rf ~/Library/Caches/lima' to reclaim it if Lima isn't used elsewhere."+fi++echo "OK: Hydrogen Desktop fully uninstalled."