nixos/.zshrc

61 lines
1.9 KiB
Bash

# vim: ft=zsh
# Source global definitions
if [ -f /etc/zshrc ]; then
. /etc/zshrc
fi
# set PATH so it includes user's private bin if it exists
LOCAL_BIN="$HOME/.local/bin"
grep "$LOCAL_BIN" "$PATH" > /dev/null 2>&1 || export PATH="$LOCAL_BIN:$PATH"
# set PATH so it includes homebrew bin directories if they exist
HOMEBREW_BIN="/opt/homebrew/bin"
HOMEBREW_SBIN="/opt/homebrew/sbin"
grep "$HOMEBREW_SBIN" "$PATH" > /dev/null 2>&1 || export PATH="$HOMEBREW_SBIN:$PATH"
grep "$HOMEBREW_BIN" "$PATH" > /dev/null 2>&1 || export PATH="$HOMEBREW_BIN:$PATH"
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# set LANG to be something sensible
export LANG="en_GB.utf-8"
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
command -v nvim > /dev/null 2>&1 && export EDITOR=nvim || export EDITOR=vi
command -v xed > /dev/null 2>&1 && export VISUAL=xed || export VISUAL=vi
alias lg="lazygit"
alias nvimdiff="nvim -d"
alias vim="nvim"
alias vimdiff="nvim -d"
if [ -f "$HOME/.zshrc.local" ] ; then
source "$HOME/.zshrc.local"
fi
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
command -v direnv > /dev/null 2>&1 && eval "$(direnv hook zsh)"
command -v starship > /dev/null 2>&1 && eval "$(starship init zsh)"
autoload -U compinit; compinit
command -v glab > /dev/null && source <(glab completion -s zsh); compdef _glab glab
command -v gh > /dev/null && source <(gh completion -s zsh); compdef _gh gh