home | section main page


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
Copyright © 2024 Preston Pan