My .config Ship of Theseus

· Source ↗

TLDR

  • A developer’s dotfiles incrementally replaced over years until nothing original remains – the Ship of Theseus problem applied to terminal config.

Key Takeaways

  • The Ship of Theseus framing captures how ~/.config and $HOME dotfiles accumulate tool sprawl across years of incremental changes.
  • Modern tools increasingly write their own directories into $HOME, fragmenting what was once a tidy config hierarchy.
  • The core tension is portability vs. personalization: a heavily tuned environment is powerful on one machine and disorienting everywhere else.
  • The $XDG_CONFIG_HOME standard was meant to contain this sprawl, but adoption is uneven and many tools still pollute $HOME directly.

Hacker News Comment Review

  • Commenters split sharply: one camp converged on near-stock settings plus a personal ~/bin of scripts for portability; the other pushed config management tools (Puppet, Ansible) to template and version the full machine state.
  • $HOME pollution from AI tooling and Electron apps is a live frustration – tab-completion muscle memory breaks as directories like .claude or .conductor appear ahead of expected completions.
  • GNU Stow and Guix Home are the most-cited lightweight solutions for dotfile hygiene; Ansible is recommended when the scope grows to full machine setup beyond just config files.

Notable Comments

  • @threecheese: Names Claude and Conductor specifically as recent $HOME polluters; “nd is juuuuuust ahead of nf” captures the tab-completion breakage concretely.
  • @PunchyHamster: Argues config management earns its weight for templating per-device parameters, not just syncing static dotfiles.

Original | Discuss on HN