This repository is intended to live at ~/.config.
Run everything:
./install.sh --allPreview without modifying files:
./install.sh --all --dry-runInstall a subset:
./install.sh --only zsh,tmux,fzf- Homebrew formulae are preferred.
zimdownloadszimfw.zsh, links~/.zimrcto the repo-managed config, and generates~/.zim/init.zshwithout rewriting~/.zshrc.tmuxinstalls TPM (~/.tmux/plugins/tpm) before loading the repo-managed tmux config.vim,neovim,yazi, andneofetchare installed via Homebrew formulae and only verified for command availability.iterm2andalacrittyare installed on macOS via Homebrew casks.kittyis installed on macOS via Homebrew cask, and on Linux via kitty's official binary installer, then linked into~/.local/bin.finickyis installed on macOS via Homebrew cask and provides URL routing for the browser-mode workflow.- On macOS,
codexandclaude-codeare installed via Homebrew casks, andopencodevia Homebrew formula. - On Linux,
codex,claude-code, andopencodeare installed via Homebrew. - Existing files are backed up to
~/.config/.backup/<timestamp>/. - Private state is not overwritten.
- If
zshis selected and your login shell is notzsh, the installer attemptschsh -s <resolved-zsh-path>automatically. - If that
zshpath is missing from/etc/shells, the installer tries to register it first and may prompt for yoursudopassword. - After package installation and shell switching, the installer writes
brew shellenvto the profile file that matches your current login shell.
The following tools can keep shared config in this repo, but are not installed by install.sh:
raycastcursororbstackvscode
Current sync-only files in this repo:
codex/config.tomlcursor/argv.jsonvscode/argv.jsonraycast/ai/providers.yaml
This setup uses Finicky as the URL router and Raycast Script Commands to toggle the active browser mode.
Configuration:
- Finicky configs live at
finicky/finicky.dia.jsandfinicky/finicky.atlas.js. - The active config is linked at
~/.finicky.jsby the installer or the mode script. - Modes are controlled by swapping the
~/.finicky.jssymlink (values:dia,atlas). - The helper script is
scripts/browser-mode(macOS only) and restarts Finicky. - Notifications are sent via
terminal-notifierwhen available, otherwise viaosascript.
Suggested Raycast Script Commands:
- Use
raycast/script-commands/browser-mode.shand pick from the browser list.
Runtime state, auth files, logs, extensions, sessions, VM state, and other machine-specific data for these tools should stay out of Git.