Newer
Older
# Setting up `zinit` plugin manager
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
[ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)"
[ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
source "${ZINIT_HOME}/zinit.zsh"
# ZSH plugins
zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-autosuggestions
zinit light Aloxaf/fzf-tab
# Load completions
autoload -Uz compinit && compinit
zinit snippet OMZP::git
bindkey -e
bindkey '^p' history-search-backward
bindkey '^n' history-search-forward
HISTSIZE=1000000
HISTFILE=~/.zsh_history
SAVEHIST=$HISTSIZE
HISTDUP=erase
setopt appendhistory
setopt sharehistory
setopt hist_ignore_space
setopt hist_ignore_all_dups
setopt hist_save_no_dups
setopt hist_ignore_dups
setopt hist_find_no_dups
# Completion styling
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
zstyle ':completion:*' menu no
zstyle ':fzf-tab:*' use-fzf-default-opts yes
# -------- ALIASES ---------
alias ls='ls --color'
alias vim="nvim"
alias a="tmux a"
alias ipa="ip -br -c a"
alias lg="lazygit"
alias lt="eza -l --icons -T --sort=time"
alias ff="fastfetch"
# ---------- MAN -----------
export PAGER="less"
# ----------- GO -----------
export PATH="$PATH:$(go env GOBIN):$(go env GOPATH)/bin"
# ---------- FZF -----------
export FZF_ALT_C_COMMAND="fd --type d --max-depth 5 . $HOME $HOME/dotfiles/.config"
# Preview file content using bat (https://github.com/sharkdp/bat)
export FZF_CTRL_T_OPTS="
--preview 'bat -n --color=always {}'
--bind 'ctrl-/:change-preview-window(down|hidden|)'"
export FZF_DEFAULT_OPTS="
--color=fg:#908caa,bg:-1,hl:#ea9a97
--color=fg+:#e0def4,bg+:#393552,hl+:#ea9a97
--color=border:#44415a,header:#3e8fb0,gutter:-1
--color=spinner:#f6c177,info:#9ccfd8,separator:#44415a
--color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa
--height=100% --layout=default --info=inline --border
--margin=1 --padding=1"
# Set up fzf key bindings and fuzzy completion
source <(fzf --zsh)
export STARSHIP_CONFIG=$HOME/.config/starship/starship.toml
eval "$(starship init zsh)"