dotfiles/config/fish/config.fish

67 lines
1.5 KiB
Fish

# fish config
## Paths
set -xU GOPATH $HOME/.go
set -xU DOTFILES $HOME/.dotfiles
fish_add_path $HOME/.local/bin $HOME/.mix $HOME/.mix/escripts $HOME/.cargo/bin $GOPATH/bin
## Environment setup
set -xU TERMINAL 'foot'
set -xU TERM 'xterm'
set -xU EDITOR 'hx'
## Functions
function backup --argument filename
cp $filename $filename.bak
end
## Useful aliases
alias r='source ~/.config/fish/config.fish && echo "Fish config reloaded."'
alias dot="$EDITOR $DOTFILES"
# Add apt aliases for updating / upgrading if available
if test -e (which apt)
alias up="sudo apt update && sudo apt list --upgradable"
alias ug="sudo apt upgrade"
end
# Replace ls with lsd if available
if test -e (which lsd)
alias ls="lsd"
alias la="lsd -a"
alias ll="lsd -l"
end
# Elixir / phoenix aliases
alias phx="iex -S mix phx.server"
# Systemd alias
alias start="sudo systemctl start"
alias restart="sudo systemctl restart"
alias stop="sudo systemctl stop"
alias enable="sudo systemctl enable"
alias disable="sudo systemctl disable"
alias sta="sudo systemctl status"
## Helpers
# Generate SSH key
alias sshkey='ssh-keygen -t ed25519 -f $HOME/.ssh/id_ed25519 -C "(whoami)@(hostname)-(date +'%y%m%d')"'
# Get the error messages from journalctl
alias jctl="journalctl -p 3 -xb"
# Display a calender
alias cal="ncal -3Mb"
if status is-interactive
# Commands to run in interactive sessions can go here
end
## Load asdf if available
if test -e ~/.asdf/asdf.fish
source ~/.asdf/asdf.fish
end