Files
dotfiles/phillpc/fish/config.fish
T
2026-06-30 18:50:31 +08:00

81 lines
1.5 KiB
Fish

# Editor
set -gx EDITOR nvim
set -gx VISUAL nvim
set -gx PAGER less
set -gx LESS "-R --use-color -Dd+r -Du+b"
set -gx XDG_CONFIG_HOME "$HOME/.config"
set -gx XDG_DATA_HOME "$HOME/.local/share"
set -gx XDG_CACHE_HOME "$HOME/.cache"
fish_add_path "$HOME/.local/bin"
fish_add_path "$HOME/.cargo/bin"
set fish_greeting
if type -q eza
alias ls="eza --icons"
alias ll="eza -lah --icons --git"
alias la="eza -A --icons"
else
alias ls="ls --color=auto"
alias ll="ls -lah"
alias la="ls -A"
end
if type -q bat
alias cat="bat"
end
alias grep="grep --color=auto"
alias c="clear"
alias v="nvim"
alias svim="sudoedit"
alias gs="git status"
alias ga="git add"
alias gc="git commit"
alias gp="git push"
alias gl="git log --oneline --graph --decorate"
alias pacup="sudo pacman -Syu"
alias pacin="sudo pacman -S"
alias pacrm="sudo pacman -Rns"
alias pacq="pacman -Qs"
# Safer defaults
alias cp="cp -i"
alias mv="mv -i"
alias rm="rm -i"
# Optional tools
if type -q thefuck
thefuck --alias | source
end
if type -q zoxide
zoxide init fish | source
end
if type -q fzf
fzf --fish | source
end
if type -q starship
starship init fish | source
end
# Start Sway on tty1 login
#
# These are real environment variables. They are inherited by Sway because
# Fish execs Sway after exporting them.
if status is-login
if test -z "$TMUX"; and test -z "$DISPLAY"; and test -z "$WAYLAND_DISPLAY"
if test (tty) = /dev/tty1
exec sway
end
end
end