claude-home/workstation/CONTEXT.md
Cal Corum deac021c7b docs: add workstation/dotfiles context and CLAUDE.md keyword entry
New workstation/CONTEXT.md documents the ~/dotfiles symlink repo setup.
Added workstation keywords to context loading table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 23:45:20 -06:00

2.1 KiB

Workstation Configuration

Dotfiles Repository

  • Repo: cal/dotfiles (private) on git.manticorum.com
  • Local path: ~/dotfiles/
  • Strategy: Symlink — configs live in the repo, symlinked to their expected system paths

What's tracked

Category Repo path System path
Fish shell fish/config.fish ~/.config/fish/config.fish
Starship prompt starship.toml ~/.config/starship.toml
Git config git/.gitconfig ~/.gitconfig
Git global ignore git/ignore ~/.config/git/ignore
SSH config ssh/config ~/.ssh/config
Bash shell/.bashrc, shell/.bash_profile ~/.bashrc, ~/.bash_profile
Zsh shell/.zshrc, shell/.zshenv ~/.zshrc, ~/.zshenv
MangoHud mangohud/MangoHud.conf ~/.config/MangoHud/MangoHud.conf
Zed editor zed/settings.json ~/.config/zed/settings.json
Restic excludes restic/excludes.txt ~/.config/restic/excludes.txt
VS Code vscode/settings.json, vscode/keybindings.json ~/.config/Code/User/

Secrets handling

API keys and tokens are never committed. Shell configs source secrets from separate untracked files:

  • Bash: ~/.bash_secrets (chmod 600)
  • Zsh: ~/.zsh_secrets

Install / Uninstall

cd ~/dotfiles
./install.sh    # Backs up originals to ~/.dotfiles-backup/, creates symlinks
./uninstall.sh  # Replaces symlinks with standalone copies

Both scripts are idempotent.

Adding a new config

  1. Copy the file into the appropriate directory in ~/dotfiles/
  2. Add the mapping to the LINKS associative array in both install.sh and uninstall.sh
  3. Run ./install.sh to replace the original with a symlink
  4. Commit and push

Shell setup

Cal migrated from zsh to fish + starship (Feb 2026). Bash and zsh configs are retained for compatibility but fish is the primary interactive shell.

Backups

Original files are backed up by install.sh to ~/.dotfiles-backup/<timestamp>/ before being replaced with symlinks. Multiple runs create separate timestamped backup dirs. Old backups can be cleaned up manually.