From 62bdec3ac31bf60d2ce2e0b90bc66f8e53a11896 Mon Sep 17 00:00:00 2001 From: Christopher Jon Pitzi Date: Wed, 17 Jun 2026 18:00:44 -0400 Subject: [PATCH] Wire dotfiles/install.sh into all four setup scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each setup-*.sh now deploys the captured dotfiles automatically, as a non-fatal post-step right after the repo-clone step (which lands the workstation-bootstrap checkout that holds install.sh). Mirrors the adjacent claude-cost-export block exactly: -x-guarded so an older clone without dotfiles/install.sh skips cleanly, $WB_REPO reused, failure is a warning not a hard exit. No step renumbering — like cost-export it's an unnumbered sub-section. README updated: "not yet wired" -> "deployed by setup-*.sh". Prompt-Origin: Chris asked to wire dotfiles/install.sh into the setup scripts so a freshly-provisioned machine restores his captured local configs (alacritty et al.) without a manual step, following the just- added dotfiles/ capture directory. Co-Authored-By: Claude Opus 4.8 (1M context) --- dotfiles/README.md | 13 ++++++++----- setup-crostini-lab.sh | 9 +++++++++ setup-fedora-workstation.sh | 9 +++++++++ setup-ubuntu-laptop.sh | 9 +++++++++ setup-xubuntu-workstation.sh | 9 +++++++++ 5 files changed, 44 insertions(+), 5 deletions(-) diff --git a/dotfiles/README.md b/dotfiles/README.md index 6ea4726..0fa930e 100644 --- a/dotfiles/README.md +++ b/dotfiles/README.md @@ -61,11 +61,14 @@ That preserves in-place swapping — e.g. alacritty's clobber a symlink. The cost is that local edits don't flow back automatically; that's what `capture.sh` is for. -## Not yet wired into `setup-*.sh` - -The provisioning scripts don't call `install.sh` yet — for now it's a manual -post-provision step. Wiring it in (across all four scripts, per the repo's -keep-in-sync rule) is a sensible follow-up. +## Deployed by `setup-*.sh` + +All four provisioning scripts run `install.sh` automatically, as a non-fatal +post-step right after they clone your repos (so the checkout that holds +`install.sh` is already present). A fresh machine restores these configs with +no manual step. The block is `-x`-guarded, so an older clone without +`dotfiles/install.sh` simply skips it. Running `install.sh` by hand still +works any time you want to re-deploy. ## What's tracked today diff --git a/setup-crostini-lab.sh b/setup-crostini-lab.sh index adad57c..ed81bb7 100755 --- a/setup-crostini-lab.sh +++ b/setup-crostini-lab.sh @@ -1174,6 +1174,15 @@ if [[ -x "$WB_REPO/claude-cost-export/install.sh" ]]; then "$WB_REPO/claude-cost-export/install.sh" || warn "cost-export install failed (non-fatal — re-run later)" fi +# --- Captured local dotfiles (alacritty, etc.) ----------------------------- +# Deploy hand-tuned configs tracked in dotfiles/ onto this machine. Idempotent; +# backs up any differing existing file to ~/.dotfiles-backup/ before overwrite. +# The repo clone above provides install.sh; non-fatal if it's an older clone. +if [[ -x "$WB_REPO/dotfiles/install.sh" ]]; then + section "Local config files (dotfiles)" + "$WB_REPO/dotfiles/install.sh" || warn "dotfiles install failed (non-fatal — re-run later)" +fi + # ============================================================================ section "🎉 Setup Complete!" echo "" diff --git a/setup-fedora-workstation.sh b/setup-fedora-workstation.sh index 0895798..37c874f 100755 --- a/setup-fedora-workstation.sh +++ b/setup-fedora-workstation.sh @@ -1319,6 +1319,15 @@ if [[ -x "$WB_REPO/claude-cost-export/install.sh" ]]; then "$WB_REPO/claude-cost-export/install.sh" || warn "cost-export install failed (non-fatal — re-run later)" fi +# --- Captured local dotfiles (alacritty, etc.) ----------------------------- +# Deploy hand-tuned configs tracked in dotfiles/ onto this machine. Idempotent; +# backs up any differing existing file to ~/.dotfiles-backup/ before overwrite. +# The repo clone above provides install.sh; non-fatal if it's an older clone. +if [[ -x "$WB_REPO/dotfiles/install.sh" ]]; then + section "Local config files (dotfiles)" + "$WB_REPO/dotfiles/install.sh" || warn "dotfiles install failed (non-fatal — re-run later)" +fi + # ============================================================================ section "🎉 Setup Complete!" echo "" diff --git a/setup-ubuntu-laptop.sh b/setup-ubuntu-laptop.sh index c4c2d31..cccbf86 100755 --- a/setup-ubuntu-laptop.sh +++ b/setup-ubuntu-laptop.sh @@ -1217,6 +1217,15 @@ if [[ -x "$WB_REPO/claude-cost-export/install.sh" ]]; then "$WB_REPO/claude-cost-export/install.sh" || warn "cost-export install failed (non-fatal — re-run later)" fi +# --- Captured local dotfiles (alacritty, etc.) ----------------------------- +# Deploy hand-tuned configs tracked in dotfiles/ onto this machine. Idempotent; +# backs up any differing existing file to ~/.dotfiles-backup/ before overwrite. +# The repo clone above provides install.sh; non-fatal if it's an older clone. +if [[ -x "$WB_REPO/dotfiles/install.sh" ]]; then + section "Local config files (dotfiles)" + "$WB_REPO/dotfiles/install.sh" || warn "dotfiles install failed (non-fatal — re-run later)" +fi + # ============================================================================ section "🎉 Setup Complete!" echo "" diff --git a/setup-xubuntu-workstation.sh b/setup-xubuntu-workstation.sh index 2d2a81c..91f1574 100755 --- a/setup-xubuntu-workstation.sh +++ b/setup-xubuntu-workstation.sh @@ -1188,6 +1188,15 @@ if [[ -x "$WB_REPO/claude-cost-export/install.sh" ]]; then "$WB_REPO/claude-cost-export/install.sh" || warn "cost-export install failed (non-fatal — re-run later)" fi +# --- Captured local dotfiles (alacritty, etc.) ----------------------------- +# Deploy hand-tuned configs tracked in dotfiles/ onto this machine. Idempotent; +# backs up any differing existing file to ~/.dotfiles-backup/ before overwrite. +# The repo clone above provides install.sh; non-fatal if it's an older clone. +if [[ -x "$WB_REPO/dotfiles/install.sh" ]]; then + section "Local config files (dotfiles)" + "$WB_REPO/dotfiles/install.sh" || warn "dotfiles install failed (non-fatal — re-run later)" +fi + # ============================================================================ section "🎉 Setup Complete!" echo ""