fix(omarchy): install Stage-1 Claude files + plugins + enable tailscaled - #9
Open
Exploitacious wants to merge 10 commits into
Open
fix(omarchy): install Stage-1 Claude files + plugins + enable tailscaled#9Exploitacious wants to merge 10 commits into
Exploitacious wants to merge 10 commits into
Conversation
omarchySetup.sh skipped three things the generic shellSetup.sh does, so a fresh Omarchy box booted `claude`/`clawd` on Claude's onboarding stub (model:sonnet, no hooks/statusline/model-pins), ponytail never installed, and tailscaled did not survive a reboot. New section 7b (before Stage-2 deploy.sh, which only MIRRORS these to the personal profile): - symlink the Level-1 Claude files (settings.json/statusline.sh/CLAUDE.md) from the repo, backing up any existing real file (mirrors deploy_claude_config) - install caveman + ponytail plugins (mirrors install_claude_plugins) - systemctl enable --now tailscaled so remote access survives a reboot All three gaps found + fixed by hand on t2omarchy 2026-08-25.
Matches the COWORK same-pass edit; both profile CLAUDE.md symlinks resolve to this file.
…ing-model skill Drop the caveman + ponytail plugin registrations from settings.json (enabledPlugins, extraKnownMarketplaces) and the PONYTAIL_DEFAULT_MODE env var. Register the COWORK umbrella-operating-model.sh hook on SessionStart, SubagentStart, and UserPromptSubmit. Replace the CAVEMAN and PONYTAIL statusline badges with a static [Umbrella] pin (the skill is unconditionally on). Convert the plugin install sites in shellSetup.sh, omarchySetup.sh, and winSetup.ps1 to an idempotent uninstall of caveman + ponytail on already-provisioned hosts. Repoint the model-roles and unslop references in claude/.claude/CLAUDE.md and the README to the umbrella-operating-model skill and the umbrella-* lane names. Operator ruling 2026-08-31.
…rs by source The foreman charter, an operator boot digest, and the operating model now reach the model through the launch function's --append-system-prompt (cached, never truncated), so the charter hook leaves SessionStart. SessionStart splits into startup|clear (full set) and resume|compact (resume snapshot, handoff check, briefing, registry, fleet reorient, session stamp) so a compact resume stops re-paying the whole boot. Global CLAUDE.md drops the blanket formatting rules and the duplicated compression and model-roles text in favor of pointers to the harness's single sources.
…ess boxes The hook line was the only SessionStart entry without a test -x guard and used an absolute /home/master path. On a box without herdr (T3COWORK) it would shell out to a missing file on every session start. Same guard pattern as its siblings; $HOME instead of the hardcoded home. Claude-Session: https://claude.ai/code/session_01XYkketGFEtCrt8xrMZSjxw
VS Code Remote-SSH (and scp/rsync/automation) run the login shell to bootstrap, with stdin piped and non-interactive. The picker's read prompt then blocks forever, so the VS Code server never installs and the client hangs at "Initializing VS Code Server". Add interactive + TTY guards so the picker fires only for a human terminal login. Claude-Session: https://claude.ai/code/session_01XYkketGFEtCrt8xrMZSjxw
Same package name in the omarchy repo and the AUR; repo first. A stale sync DB 404s the download because the repo rotates package files, so the step refreshes (-Sy only) and retries once, then proves the install with pacman -Q.
…minder hook Global CLAUDE.md 865 to about 420 words, pointing at the COWORK harness surfaces instead of restating them. The UserPromptSubmit reminder line duplicated the operating-model body that already rides the system prompt on every launch path; the SubagentStart injection stays because lanes do not get the system-prompt append. Operator ruling 2026-09-10.
Extend the rtk PreToolUse (Bash) token filter from the PERSONAL-only pilot to both profiles per the operator ruling 2026-09-10 (deploy it for everything). settings.json is the single Stage-1 base symlinked into ~/.claude and ~/.claude-personal, so carrying the hook here is the right home for both. The command is gated on rtk being installed (command -v / ~/.local/bin/rtk) and is a clean no-op on a box without rtk. Ordered after the git-guard and secrets-guard PreToolUse entries so guard verdicts are unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
omarchy/omarchySetup.shskipped three things the genericshellSetup.shperforms, exposed while fixing t2omarchy (2026-08-25):claude/clawdbooted on Claude's onboardingsettings.jsonstub (model: sonnet, no hooks / statusline / model-pins) instead of the Fable-primary harness config.deploy.sh(Stage-2) only mirrors these to the personal profile; laying them down is Stage-1's job.tailscale upalone doesn't persist, so a reboot silently dropped all remote access untilsystemctl enable --now tailscaled.Fix
New section 7b (before the Stage-2
deploy.shcall), faithfully replicating shellSetup's proven logic:settings.json/statusline.sh/CLAUDE.mdfrom$LPX_DIR/claude/.claude, backing up existing real files (mirrorsdeploy_claude_config)claude plugin marketplace add+installfor caveman + ponytail (mirrorsinstall_claude_plugins)sudo systemctl enable --now tailscaled(guarded on tailscale being installed)Idempotent (already-linked / already-installed are no-ops), warn-don't-abort throughout.
bash -nclean.All three were fixed by hand on t2omarchy this session; this closes them for future Omarchy provisions.
https://claude.ai/code/session_017tSSvn67RJVKkpKTSNvR5k