# Enable Powerlevel10k instant prompt (must be at the very top) if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi HISTFILE=~/.histfile HISTSIZE=100000 SAVEHIST=100000 setopt EXTENDED_HISTORY # save timestamps setopt HIST_IGNORE_ALL_DUPS # remove older duplicate entries setopt HIST_IGNORE_SPACE # don't record commands starting with space setopt HIST_SAVE_NO_DUPS # don't save duplicates setopt SHARE_HISTORY # share history across sessions bindkey -e # emacs bindings bindkey '\e[3~' delete-char # Delete key bindkey '\e[1;3C' forward-word # Alt+Right bindkey '\e[1;3D' backward-word # Alt+Left # Consume focus event sequences from tmux so they don't leak as input bindkey '\e[I' redisplay # focus gained bindkey '\e[O' redisplay # focus lost # Completion autoload -Uz compinit && compinit if [[ -f /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh ]]; then source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh elif [[ -f /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ]]; then source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh fi if [[ -f /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme ]]; then source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme elif [[ -f ~/powerlevel10k/powerlevel10k.zsh-theme ]]; then source ~/powerlevel10k/powerlevel10k.zsh-theme fi [[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh # PATH configuration PATH=$PATH:~/.npm-global/bin # Install packages locally to prevent interference with packages installed with pacman export GEM_HOME="$(gem env user_gemhome)" PATH="$PATH:$GEM_HOME/bin" # Useful aliases alias ls='ls --color=auto' alias vim='nvim' alias open='xdg-open' # Fun tools alias transcat='queercat -f transgender' alias bicat='queercat -f bisexual' # fzf shell integration: newer versions use --zsh, older Ubuntu installs use static files if fzf --zsh &>/dev/null; then source <(fzf --zsh) elif [[ -f /usr/share/doc/fzf/examples/key-bindings.zsh ]]; then source /usr/share/doc/fzf/examples/key-bindings.zsh [[ -f /usr/share/doc/fzf/examples/completion.zsh ]] && source /usr/share/doc/fzf/examples/completion.zsh fi export PATH="$HOME/.local/bin:$PATH"