Fish RC File
Table of Contents
1. Configuration
1.1. Environment Variables
We define our path and also some environment variables. Since I use guix as one of my package managers, I set GUIXLOCPATH. Also, I have a ~/.local/bin directory where I keep my scripts.
fish_add_path -m ~/.local/bin fish_add_path -m ~/gems/bin fish_add_path -m ~/.local/share/gem/ruby/3.0.0/bin set -x GUIX_LOCPATH $HOME/.guix-profile/lib/locale set -x GEM_HOME "~/gems"
1.2. Aliases
Now we define some aliases:
1.2.1. Git
We want to define aliases only if we call fish as an interactive shell. We also define some common aliases for git commands:
if status is-interactive alias gcl="git clone" alias gp="git push" alias gpu="git pull" alias gcm="git commit"
1.2.2. Pacman
Now we define aliases for commonly used pacman commands in the form of the paru aur helper:
alias p="paru -S" alias pq="paru -sS" alias pd="paru -Rncs" alias syncweb="rsync -uvrP --delete-after website_html/ root@nullring.xyz:/var/www/ret2pop/"
1.2.3. Misc.
These are generally useful commands. Since I use mbsync, I wrote an alias for it.
alias c="clear" alias l="ls -a" alias mkdir="mkdir -pv" alias syncmail="mbsync -c ~/.config/doom/mbsyncrc prestonpan"
1.3. Vi Mode
Now we want to use vi mode because it is better.
fish_vi_key_bindings end