Skip to content

Commit 39a5439

Browse files
committed
Add fish shell support and remove atuin
1 parent 258f7f7 commit 39a5439

File tree

12 files changed

+608
-279
lines changed

12 files changed

+608
-279
lines changed

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<a href="https://github.com/Braden1996/dotfiles/actions/workflows/ci.yml"><img src="https://github.com/Braden1996/dotfiles/actions/workflows/ci.yml/badge.svg?branch=master" alt="CI" /></a>
77
<a href="https://www.chezmoi.io/"><img src="https://img.shields.io/badge/managed%20with-chezmoi-blue?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAALzSURBVFhH7ZVfSFNRHMfPuf+2e527u5pm4pyi5r+0P2amkdqDPfRQUBA99BBFBBJE0ENQD0FBDxH0EEHRQxBBDz0EEUR/KCKxP2plZaalZmpuc3N3t3t37t09945tOrfmQ0Tf4eOc3z2/3+97zj33Xor+RyD/CuAXgMfjuUqS5EWKou6jKGq7uq4xRqNxllar7dRoNIdJkjwEoFW3NgBJkjPALi/lm/1+f7vL5XpGfV6ySZyOEI8bOBWq/UMRVEbNnWfpumVRqPxqE6n22ez2a5RFHVQXRZAEAS/JEl9fr+/1ev17qbe8sVMC+gIguBomq40m80nDAZDB0EQVdLS6LcMwwx4PJ7nHo/nPvV6IcZpwRMIBF66XK5blNP5gJFWfAy4a7FYOo1G41mSJOvkJwBCLMuOuN3uh263+5akKKhDoH6YO6Cy+gZxr8tms922Wq0d8jKiEDzHjbnd7kcul+smdYF7x8v0gWBw0u/3v3S73Q+oN/wYp0UBxJlP+3w+AYi7FEWdQf//5fV6h51O53uHw/GGekC/FxjGhX0Bh8NxraCg4GJFRUW7TqfbhM+4LvZ8Nm63+wXu41sWi6VbvkAE0DTNK0bwBDxvNZvNl4uLiy/k5OQ0SSGE3DjAMEy/0+l84nQ6H1N9fCfnkz7x4UbFYPBaXl5eW0FBwUWz2bxPWZw1+G7+1mKx3KJelncpJRWAyIciETsOhAOBwC8ZZnB8fPyx1Wr9k4rYbsiyH8Trnf8B6L3e22fE15JcBGhJjuO4oUAg0OfxeHoWL17cNmfOnAsZGRl1CMHjOMBx3LjP57s/NjZ2i+rjB+Xz0D7pJRfLPcR9TrdDsCWDZnNmZuYFo9F4Gp9zOEDZjIO4Z8Dtdt8eGxu7S/XyY/LVUGepIXkEiHPUbPRdfLhpvV5/ICUl5TRBEBU4gO/N3+DzdGIeeWVOkf7EF8IVhN9FHiCv+Bj5RHUmk4EupqWlnTYYDOdwU/b7J4A/wLb9G6D9BjAbx3rEbxFDAAAAAElFTkSuQmCC" alt="chezmoi" /></a>
88
<img src="https://img.shields.io/badge/platform-macOS-lightgrey?logo=apple" alt="macOS" />
9-
<img src="https://img.shields.io/badge/shell-zsh-green?logo=gnubash" alt="zsh" />
9+
<img src="https://img.shields.io/badge/shell-zsh%20%2B%20fish-green?logo=gnubash" alt="zsh + fish" />
1010
<img src="https://img.shields.io/badge/theme-Catppuccin%20Macchiato%20%2F%20Dracula-mauve?logo=catppuccin&logoColor=cba6f7" alt="Catppuccin Macchiato / Dracula" />
1111
</p>
1212

@@ -58,7 +58,7 @@ You'll be prompted for these values (stored locally, never committed):
5858

5959
- **Homebrew** is installed if missing (with Apple Silicon detection)
6060
- **Packages** are installed via Brewfile — shell tools, editors, language managers, 1Password CLI, Ghostty
61-
- **Configs** are templated and written to `~` — git, zsh, starship, editors, terminal, tmux, SSH
61+
- **Configs** are templated and written to `~` — git, zsh, fish, starship, editors, terminal, tmux, SSH
6262
- **TPM** (tmux plugin manager) is cloned if not present
6363
- **Post-setup checklist** runs and flags anything that still needs manual attention
6464

@@ -100,21 +100,22 @@ Then re-run `chezmoi init` to set the key ID in your config.
100100
ssh -T git@github.com # SSH works
101101
echo "test" | gpg --clearsign # GPG signing works
102102
zsh-check-deps # all tools installed
103+
fish-check-deps # fish prompt/tooling dependencies installed
103104
```
104105

105106
---
106107

107108
### What's Included
108109

109110
<table>
110-
<tr><td><b>Shell</b></td><td>zsh, antidote, starship prompt, fzf, zoxide, atuin, bat, eza, yazi</td></tr>
111+
<tr><td><b>Shell</b></td><td>zsh, fish, antidote, starship prompt, fzf, zoxide, bat, eza, yazi</td></tr>
111112
<tr><td><b>Editor</b></td><td>cursor (primary), neovim, zed</td></tr>
112113
<tr><td><b>Terminal</b></td><td>ghostty, alacritty, iterm2</td></tr>
113114
<tr><td><b>Git</b></td><td>gpg signing, graphite, conditional work includes, aliases</td></tr>
114115
<tr><td><b>Tmux</b></td><td>tmux + TPM, dracula theme</td></tr>
115116
<tr><td><b>Files</b></td><td>yazi (Ctrl+y picker), ranger</td></tr>
116117
<tr><td><b>Languages</b></td><td>nvm, pyenv, rbenv (all lazy-loaded), bun</td></tr>
117-
<tr><td><b>Security</b></td><td>1Password CLI (<code>op://</code> URIs), GPG commit signing, atuin secrets filter</td></tr>
118+
<tr><td><b>Security</b></td><td>1Password CLI (<code>op://</code> URIs), GPG commit signing</td></tr>
118119
<tr><td><b>Theme</b></td><td>Catppuccin Macchiato (ghostty, zed, starship, fzf, fsh) / Dracula (alacritty, iterm2, nvim, tmux)</td></tr>
119120
</table>
120121

@@ -194,6 +195,7 @@ Run <code>zsh-check-deps</code> to verify required tools (starship, fzf) and opt
194195
├── run_once_before_*.sh.tmpl # homebrew + package bootstrap
195196
├── run_once_after_*.sh.tmpl # post-apply setup + checklist
196197
├── dot_config/
198+
│ ├── fish/ # fish config (prompt, bindings, wrappers)
197199
│ ├── zsh/ # modular zsh configs (00-99)
198200
│ │ ├── 00-path.zsh # PATH management
199201
│ │ ├── 10-options.zsh # shell options & history
@@ -209,7 +211,6 @@ Run <code>zsh-check-deps</code> to verify required tools (starship, fzf) and opt
209211
│ ├── iterm2/Default.json # iterm2 profile
210212
│ ├── starship.toml # prompt (catppuccin palette)
211213
│ ├── nvim/init.vim # neovim (dracula, plug)
212-
│ ├── atuin/config.toml # shell history sync
213214
│ ├── fsh/ # fast-syntax-highlighting theme
214215
│ ├── ranger/ # file manager + devicons
215216
│ ├── graphite/aliases # git stacking aliases
@@ -225,7 +226,8 @@ Run <code>zsh-check-deps</code> to verify required tools (starship, fzf) and opt
225226
chezmoi update # pull latest changes and apply
226227
chezmoi diff # preview what would change
227228
chezmoi apply # apply without pulling
228-
chezmoi edit ~/.zshrc # edit a managed file in the source dir
229+
chezmoi edit ~/.zshrc # edit zsh entrypoint
230+
chezmoi edit ~/.config/fish/config.fish # edit fish entrypoint
229231
chezmoi add ~/.config/foo/bar # start managing a new file
230232
chezmoi cd # cd into the source directory
231233
chezmoi init # re-run prompts (e.g. after generating a GPG key)

dot_config/atuin/config.toml

Lines changed: 0 additions & 272 deletions
This file was deleted.

dot_config/fish/conf.d/00-env.fish

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# =============================================================================
2+
# Environment & PATH Configuration
3+
# =============================================================================
4+
5+
# Detect Homebrew prefix (Apple Silicon vs Intel).
6+
set -l homebrew_prefix /opt/homebrew
7+
if not test -d $homebrew_prefix
8+
set homebrew_prefix /usr/local
9+
end
10+
11+
set -gx HOMEBREW_PREFIX $homebrew_prefix
12+
set -gx HOMEBREW_CELLAR "$HOMEBREW_PREFIX/Cellar"
13+
set -gx HOMEBREW_REPOSITORY $HOMEBREW_PREFIX
14+
15+
# Keep PATH ordering aligned with the existing zsh setup.
16+
fish_add_path -gPm "$HOMEBREW_PREFIX/bin" "$HOMEBREW_PREFIX/sbin"
17+
fish_add_path -gPm "$HOME/.cargo/bin"
18+
fish_add_path -gPm "$HOME/.bun/bin"
19+
fish_add_path -gPm "$HOME/.antigravity/antigravity/bin"
20+
fish_add_path -gPa "$HOME/Library/Android/sdk/platform-tools"
21+
fish_add_path -gPa "$HOME/.safe-chain/bin"
22+
23+
set -gx INFOPATH "$HOMEBREW_PREFIX/share/info" $INFOPATH
24+
if set -q MANPATH[1]
25+
set -gx MANPATH "" $MANPATH
26+
end
27+
28+
if test -d /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
29+
set -gx JAVA_HOME /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
30+
end
31+
32+
if test -d "$HOME/Library/Android/sdk"
33+
set -gx ANDROID_HOME "$HOME/Library/Android/sdk"
34+
end
35+
36+
if status is-interactive
37+
set -gx GPG_TTY (tty)
38+
39+
# Reuse the existing Starship startup-time module across zsh and fish.
40+
if command -q python3
41+
set -gx __BRADEN_SHELL_START_REAL (command python3 -c 'import time; print(f"{time.time():.6f}")')
42+
end
43+
end
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# =============================================================================
2+
# Abbreviations
3+
# =============================================================================
4+
5+
# Approximate zsh named-directory shortcuts in fish.
6+
abbr --add --position anywhere -- '~dev' ~/Developer
7+
abbr --add --position anywhere -- '~dl' ~/Downloads
8+
abbr --add --position anywhere -- '~cfg' ~/.config

0 commit comments

Comments
 (0)