- New managed configs: .config/bat (ANSI theme so bat follows the
terminal palette) and .claude/settings.json, with a .gitignore guard
so only settings.json under .claude/ is trackable.
- dotfiles.sh: drive linking from a single link map and add
unlink_dotfiles; install.sh grows --unlink to cleanly remove every
symlink pointing into the repo.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Symlink .ssh/config into ~/.ssh with proper directory permissions.
Guard .gitignore so only the client config is trackable — keys and
anything else under .ssh/ can never be committed. Also drop a
redundant tmux ignore rule.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
All user-tunable knobs now live in one block at the top of .zshrc:
KANAGAWA_THEME, WEZTERM_FONT_SIZE, WEZTERM_WINDOW_OPACITY,
WEZTERM_TEXT_OPACITY.
GUI-launched WezTerm never inherits shell exports (which is why
WEZTERM_THEME silently did nothing on desktop launches). Reuse the
existing tmux current-theme.conf pattern: .zshrc writes the values to
~/.config/wezterm/env.lua (only when they change), and wezterm.lua
dofile()s it and registers it in the config reload watch list — so
editing .zshrc and opening a new shell restyles the running window.
Precedence in wezterm.lua: env.lua > process env > defaults.
env.lua is gitignored (machine-local, generated).
- Remove macOS/Windows clipboard branches, homebrew fzf path from .vimrc
- Remove is_macos/is_windows logic from wezterm.lua
- Drop scripts/nvim-offline-* and NVIM_OFFLINE plumbing from nvim config
- Clean macOS section from .gitignore; simplify .gitattributes to LF-only
- Trim README of offline-bundle section