From 4d308b3888ffe8875582258027935558011d73c3 Mon Sep 17 00:00:00 2001 From: forgeadm Date: Wed, 22 Apr 2026 18:37:26 +0200 Subject: [PATCH] Add zsh/.zshrc --- zsh/.zshrc | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 zsh/.zshrc diff --git a/zsh/.zshrc b/zsh/.zshrc new file mode 100644 index 0000000..3be2c24 --- /dev/null +++ b/zsh/.zshrc @@ -0,0 +1,55 @@ +# 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. + +# SET HE DIRECTORY WE WANT TO STORE ZINIT AND PLUGINS +ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" + +# Download ZINIT, if its 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/Load zinit +source "${ZINIT_HOME}/zinit.zsh" + +# 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 + +# load completions +autoload -U compinit && compinit + + +# 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 + +# 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' + +# aliases +alias ls='ls --color' + +# shell integrations +eval "$(fzf --zsh)" + +fpath+=~/.zfunc; autoload -Uz compinit; compinit + +# Initialize Oh My Posh for Zsh +eval "$(oh-my-posh init zsh --config 'https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/themes/amro.omp.json')"