Skip to content
This repository was archived by the owner on Jul 1, 2026. It is now read-only.

Add dotfiles/ for capturing hand-tuned local configs - #63

Merged
cpitzi merged 1 commit into
mainfrom
dotfiles-capture
Jun 17, 2026
Merged

Add dotfiles/ for capturing hand-tuned local configs#63
cpitzi merged 1 commit into
mainfrom
dotfiles-capture

Conversation

@cpitzi

@cpitzi cpitzi commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Origin

Chris had just had Claude fix alacritty so new windows open in $HOME
instead of inheriting the spawning window's directory. He then asked for a
directory under workstation-bootstrap to start capturing local configs like
that one, and to push it out. The goal: keep hand-tuned local configs under
version control so they survive a machine rebuild, rather than re-tuning them
from scratch each time.

What changed

New top-level dotfiles/ directory:

  • home/ mirrors $HOME — a file's path under home/ is its path under
    $HOME. The tree is the manifest; no separate mapping file to drift.
  • install.sh — repo → $HOME. Idempotent; backs up any differing
    existing file to ~/.dotfiles-backup/ before overwriting. For a fresh
    provision or to make the repo's configs live.
  • capture.sh$HOME → repo. Refreshes already-tracked files from the
    live machine so a local edit becomes a reviewable diff. Only touches files
    already tracked — it won't slurp the whole home dir.
  • README.md — layout, the install/capture workflow, how to add a new
    config, and the copy-vs-symlink rationale.

Seeded with .config/alacritty/ (alacritty.toml + ember/aurora theme
variants), all three now pinning working_directory so new windows open in
$HOME.

Design notes

  • Copy, not symlink — keeps live files as real files so alacritty's
    in-place theme swap (cp alacritty-aurora.toml alacritty.toml) keeps
    working; a symlink would get clobbered. capture.sh is the trade-off for
    edits not flowing back automatically.
  • Not yet wired into setup-*.sh — manual post-provision step for now;
    wiring it across all four scripts (per the keep-in-sync rule) is a sensible
    follow-up, called out in the README.

Verification

  • shellcheck --severity=warning clean on both scripts.
  • install.sh and capture.sh both run as idempotent no-ops against the
    seeded files (3 unchanged).

🤖 Generated with Claude Code

Introduce a top-level dotfiles/ directory that mirrors $HOME, plus two
idempotent helpers: install.sh (repo -> $HOME, for a rebuild) and
capture.sh ($HOME -> repo, to snapshot local tweaks back into git).
Seeded with the alacritty config + its ember/aurora theme variants, all
of which now pin working_directory so new windows open in $HOME.

Copy-based (not symlink) so in-place theme swapping keeps working;
existing live files are backed up to ~/.dotfiles-backup/ before any
overwrite. Not yet wired into setup-*.sh — manual post-provision step
for now.

Prompt-Origin: Chris had just had Claude fix alacritty so new windows
open in $HOME, then asked for a directory under workstation-bootstrap to
start capturing local configs like that one and to push it out. He
wanted such configs version-controlled so they survive a rebuild.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cpitzi
cpitzi enabled auto-merge (squash) June 17, 2026 21:56
@cpitzi
cpitzi merged commit b611c57 into main Jun 17, 2026
2 checks passed
@cpitzi
cpitzi deleted the dotfiles-capture branch June 17, 2026 21:56
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant