Skip to content

DavidConnack/dotfiles

Repository files navigation

dotfiles

The init.sh script will add all the relevant symlinks in order to link the apps to their relevant configs.

Touch ID for sudo (incl. tmux)

init.sh installs pam/sudo_local to /etc/pam.d/sudo_local, enabling fingerprint auth for sudo in the terminal. /etc/pam.d/sudo already includes sudo_local, and that file survives macOS updates.

pam-reattach (from the Brewfile) is loaded first so Touch ID also works inside tmux/screen — without it, pam_tid.so fails to reach the GUI session and silently falls back to a password prompt.

Installing sudo_local requires sudo, so on a fresh machine init.sh will prompt for your password once (Touch ID isn't set up yet at that point).

What's deliberately NOT in this repo

This repo is public, so anything with key material or account identifiers is kept out of it. After a reformat, restore these manually from the password manager:

  • SSH private keys (~/.ssh/git, ~/.ssh/server + matching .pub files) — GitHub and homelab server (10.0.10.2) access. ~/.ssh/config itself (just Host aliases, no key material) is tracked and symlinked by init.sh.
  • WireGuard configs (~/.wg.conf, ~/.wg-dani.conf) — contain private keys. Restore both files to $HOME before using the wgu/wgd aliases in zshrc.
  • AWS SSO config (~/.aws/config) — not tracked at all (also avoids publishing account IDs/SSO URLs). Re-run aws configure sso per profile after reformat.
  • The rest of ~/.claude/settings.json (model, tui, editorMode, enabledPlugins) — personal preference, quick to redo. Only the statusLine block is tracked (see next section); init.sh symlinks a minimal claude/settings.json containing just that key, so those other prefs need to be reconfigured by hand after a fresh install.

Claude Code quota in the tmux status bar

claude/statusline.sh is registered as Claude Code's statusLine hook via claude/settings.json (symlinked to ~/.claude/settings.json by init.sh). Every time it runs, it caches the session's model/context/rate-limit data to ~/.claude/rate-limit-cache.json. tmux/status.sh reads that cache and appends a 🤖5h:NN%@time/7d:NN%@day time segment to the tmux header — usage plus exact reset time for each window — with a (Nm) staleness note if the cache is more than 30 minutes old (e.g. no active Claude Code session). The 5h/7d figures are Anthropic's rolling rate-limit windows for Pro/Max subscriptions; they only appear once a session has had its first API response.

If you add your own preferences to ~/.claude/settings.json (model, plugins, etc.), they'll live only on that machine unless you fold them into claude/settings.json in this repo too.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors