diff --git a/dotfiles/.zshrc b/dotfiles/.zshrc deleted file mode 120000 index d81ca0a..0000000 --- a/dotfiles/.zshrc +++ /dev/null @@ -1 +0,0 @@ -git/laptop-hyprland-dotfiles/dotfiles/.zshrc \ No newline at end of file diff --git a/dotfiles/.zshrc b/dotfiles/.zshrc new file mode 100755 index 0000000..bbc2526 --- /dev/null +++ b/dotfiles/.zshrc @@ -0,0 +1,77 @@ +# Source/Load zinit +source "$HOME/.config/zsh/upin-alias" +source "$HOME/.config/zsh/dependencies" +source "$HOME/.config/zsh/init" +#source "$HOME/.config/zsh/toolbox" + +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +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 +typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet + +if [[ -f "/opt/homebrew/bin/brew" ]] then + # If you're using macOS, you'll want this enabled + eval "$(/opt/homebrew/bin/brew shellenv)" +fi + +# Set the directory we want to store zinit and plugins +ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" + +# Download Zinit, if it's not there yet +if [ ! -d "$ZINIT_HOME" ]; then + mkdir -p "$(dirname $ZINIT_HOME)" + git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" +fi + +source "${ZINIT_HOME}/zinit.zsh" +# Add in Powerlevel10k +zinit ice depth=1; zinit light romkatv/powerlevel10k + +# Add in 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 + +# Add in snippets +zinit snippet OMZP::git +zinit snippet OMZP::sudo +zinit snippet OMZP::archlinux +zinit snippet OMZP::aws +zinit snippet OMZP::docker-compose +zinit snippet OMZP::kubectl +zinit snippet OMZP::kubectx +zinit snippet OMZP::command-not-found + +# Load completions +autoload -Uz compinit && compinit + +zinit cdreplay -q +bindkey -e +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh + +# History +HISTSIZE=5000 +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 +autoload -Uz select-word-style +select-word-style shell +# Completion styling +zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' +zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" +zstyle ':completion:*' menu no +zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath' +zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath' +