bootstrap
Adom Hydrogen (platform base)
Public Made by Adomby adom
Layer Hydrogen's workspace onto a standard Adom workstation.
← Commit history
install.sh+31−3@@ -630,13 +630,17 @@ set -u stage="$HOME/.adom/code-server" [ -f "$stage/target" ] || exit 0 target="$(cat "$stage/target")"-have="$(code-server --version 2>/dev/null | head -1 | awk '{print $1}')"+# Same version read as the gate: dpkg first, then the 4.x field of --version (golden images print+# a bare VS Code version like 1.124.2, which is not a code-server version at all).+ver() { local v; v="$(dpkg-query -W -f='${Version}' code-server 2>/dev/null | sed 's/[-+].*//')"; [ -n "$v" ] || v="$(code-server --version 2>/dev/null | tr ' ' '\n' | grep -m1 -E '^4\.[0-9]+\.[0-9]+$')"; echo "$v"; }+have="$(ver)" if [ "$have" = "$target" ]; then rm -f "$stage"/code-server_*.deb "$stage/target"; exit 0; fi deb="$stage/code-server_${target}_amd64.deb"-[ -s "$deb" ] || exit 0+# A note with no package behind it can never be applied: drop it so this unit stops running.+[ -s "$deb" ] || { echo "[code-server-apply] nothing staged for $target: clearing the stale note"; rm -f "$stage/target"; exit 0; } echo "[code-server-apply] $have -> $target" if sudo dpkg -i "$deb" >/dev/null 2>&1; then- now="$(code-server --version 2>/dev/null | head -1 | awk '{print $1}')"+ now="$(ver)" echo "[code-server-apply] now $now" [ "$now" = "$target" ] && rm -f "$deb" "$stage/target" else@@ -652,6 +656,7 @@ APPLY Description=Apply a staged code-server upgrade before the editor starts Before=code-server.service ConditionPathExists=/home/adom/.adom/code-server/target+ConditionFileIsExecutable=/home/adom/.adom/bin/adom-code-server-apply [Service] Type=oneshot@@ -668,6 +673,29 @@ UNIT echo " code-server gate: no sudo to install the boot unit; the staged package waits" fi }++# HEAL LEFTOVERS FROM THE SEPTEMBER MISREAD (ConfRoomROG 2026-10-05). Early 0.5.x read a golden+# image's bare "1.12x" as older than 4.131.0 and staged a bogus upgrade; on CRR the package and+# the applier later vanished while the note and the boot unit stayed, so the unit failed with+# 203/EXEC at every workspace start and systemd reported degraded. The gate returns early on+# those boxes now and never touched them, so heal here, on every run, before it:+# - a note with no package behind it is dropped (there is nothing to apply);+# - an older unit without the executable condition gets it, and its failed state is cleared.+cs_heal() {+ local stage="$HOME/.adom/code-server"+ if [ -f "$stage/target" ] && ! ls "$stage"/code-server_*.deb >/dev/null 2>&1; then+ rm -f "$stage/target"+ echo " code-server gate: cleared a stale upgrade note (no package was staged)"+ fi+ local unit=/etc/systemd/system/adom-code-server-apply.service+ if [ -f "$unit" ] && ! grep -q '^ConditionFileIsExecutable=' "$unit" && sudo -n true 2>/dev/null; then+ sudo sed -i '/^ConditionPathExists=/a ConditionFileIsExecutable=/home/adom/.adom/bin/adom-code-server-apply' "$unit"+ sudo systemctl daemon-reload >/dev/null 2>&1 || true+ sudo systemctl reset-failed adom-code-server-apply.service >/dev/null 2>&1 || true+ echo " code-server gate: the boot unit now skips when its program is missing (was failing at every start)"+ fi+}+cs_heal cs_gate # hydrogen-widget (adom/hydrogen#17): the clock widget and the shared widget helper for Hydrogen's title bar.
package.json+2−2@@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Adom Hydrogen (platform base)", "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.",- "version": "0.5.69",+ "version": "0.5.70", "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.", "org": "adom", "tags": [@@ -49,4 +49,4 @@ "connect grok" ], "changelog": "0.5.68: memory guardrails in every Hydrogen workspace (section 4g): earlyoom stops a runaway job at 8% free memory before the workspace thrashes, code-server's inherited OOM protection is removed so the runaway is the one chosen, and swappiness drops to 10. Proven on AdomLapper: a 12 GB hog stopped in 39 s, code-server untouched."-}+}
page.json+1−1@@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Adom Hydrogen (platform base)", "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.",- "version": "0.5.69",+ "version": "0.5.70", "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.", "org": "adom", "tags": [