My dotfiles
1# Suppress greeting
2set fish_greeting
3
4# Homebrew can be in different places
5if test -d /opt/homebrew
6 eval (/opt/homebrew/bin/brew shellenv)
7else if test -f /usr/local/bin/brew
8 eval (/usr/local/bin/brew shellenv)
9else if test -f /home/linuxbrew/.linuxbrew/bin/brew
10 eval (/home/linuxbrew/.linuxbrew/bin/brew shellenv)
11end
12
13# Add Deno
14fish_add_path ~/.deno/bin
15# And bun
16fish_add_path ~/.bun/bin
17# And Go
18set -x GOPATH ~/.local/share/go
19fish_add_path ~/.local/share/go/bin
20# And rust
21fish_add_path ~/.cargo/bin
22# Add mise, if installed
23command -qs mise; and mise activate fish | source
24# Add the Google Cloud SDK, if installed
25test -f ~/.local/google-cloud-sdk/path.fish.inc; and source ~/.local/google-cloud-sdk/path.fish.inc
26
27# pnpm needs to be handled differently for macOS and Linux because why not
28if uname -a | grep -q Darwin
29 set -x PNPM_HOME "$HOME/Library/pnpm"
30else
31 set -x PNPM_HOME "$HOME/.local/share/pnpm"
32end
33fish_add_path "$PNPM_HOME"
34
35# Fun interactive bits
36if status is-interactive
37 command -qs atuin; and atuin init fish | source
38 command -qs zoxide; and zoxide init fish | source
39end
40
41# If we're in Termux, add the SSH agent
42if uname -a | grep -q Android
43 set -x SSH_AUTH_SOCK $PREFIX/var/run/ssh-agent.socket
44 ssh-add
45end
46
47# General
48set -x BAT_THEME "Monokai Extended Bright"
49set -x COLORTERM truecolor
50set -x EDITOR hx
51set -x RIPGREP_CONFIG_PATH ~/.ripgreprc
52
53# Machine-specific overrides
54test -f ~/.config/fish/local.fish; and source ~/.config/fish/local.fish
55
56# Aliases
57source ~/.config/fish/conf.d/abbrs.fish
58
59# Add my own executables
60fish_add_path ~/.local/bin