My configuration files for Linux and macOS systems.
Symlink these configs into place from this repo (backs up any conflicting files first):
./install.sh --dry-run # preview what would change ./install.sh --force # create the symlinks (replaces existing files)
What gets managed:
| Tool | Repo file | Symlinked to |
|---|---|---|
| zsh | zsh/.zshrc |
~/.zshrc |
| ghostty | ghostty/config.txt |
~/Library/Application Support/com.mitchellh.ghostty/config |
| herdr | herdr/config.toml |
~/.config/herdr/config.toml |
| hunk | hunk/config.toml |
~/.config/hunk/config.toml |
| colorls | colorls/dark_colors.yaml |
~/.config/colorls/dark_colors.yaml |
Ghostty is themed with Vague. herdr (theme = "terminal") follows the
host terminal's ANSI palette, hunk has a matching vague theme, and colorls
uses ANSI color names (rendered through the terminal's Vague palette), so
everything stays in sync.
Tools used across these configs:
| Tool | Role |
|---|---|
| Ghostty | terminal emulator (themed with Vague) |
| herdr | terminal workspace manager / multiplexer |
| hunk | terminal diff viewer |
| zsh + Oh My Zsh | shell + framework |
| spaceship-prompt | zsh prompt theme |
| zsh-autosuggestions | zsh plugin (suggestions) |
| zsh-syntax-highlighting | zsh plugin (Homebrew-installed) |
| colorls | custom ls (Ruby gem, Vague scheme) |
| bat | cat replacement (alias cat='bat --paging=never') |
| SDKMAN | JVM toolchain manager |
| Go | language toolchain (~/go/bin on PATH) |
| docker / docker-compose | container tooling |
| opencode | AI coding CLI (~/.opencode/bin on PATH) |
| Sublime Text | editor (sublt alias) |