dotfiles
1if status is-interactive
2 # Commands to run in interactive sessions can go here
3 starship init fish | source
4 zoxide init fish | source
5
6 # Aliases
7 alias l="exa"
8 alias lt="exa -T"
9 alias lT="exa -Tlh --no-user --no-time"
10 alias ll="exa -lh --no-user"
11 alias la="exa -lha --git --no-user"
12 alias nv="foreground_nvim"
13 alias gs="git status"
14 alias gb="git checkout"
15 alias gr="gh repo clone"
16 alias glz="lazygit"
17
18 # Exported Variables
19 set -gx PATH ~/.local/bin $PATH
20
21 if not set -q XDG_CONFIG_HOME
22 set -gx XDG_CONFIG_HOME "$HOME/.config"
23 end
24
25 set -gx EDITOR nvim
26
27 # set $TERM as wezterm to support undercurl in neovim (see wezterm#2505)
28 if test "$TERM_PROGRAM" = WezTerm
29 set -gx TERM wezterm
30 end
31
32 ## Go
33 set -gx GOROOT "$(brew --prefix golang)/libexec"
34 set -gx GOPATH $HOME/go
35 set -gx PATH $PATH $GOROOT/bin $GOPATH/bin
36
37 ## Flutter
38 set -gx PATH $PATH /opt/homebrew/Caskroom/flutter/2.10.4/flutter/bin
39
40 ## Rust
41 set -gx PATH $PATH $HOME/.cargo/bin
42
43 ## FZF
44 set -gx FZF_DEFAULT_OPTS "--bind='ctrl-u:preview-half-page-up' \
45--bind='ctrl-d:preview-half-page-down'"
46
47 # brew shell completion (see: https://docs.brew.sh/Shell-Completion)
48 if test -d (brew --prefix)"/share/fish/completions"
49 set -gx fish_complete_path $fish_complete_path (brew --prefix)/share/fish/completions
50 end
51 if test -d (brew --prefix)"/share/fish/vendor_completions.d"
52 set -gx fish_complete_path $fish_complete_path (brew --prefix)/share/fish/vendor_completions.d
53 end
54end