From 4a28e2acf47f6999b6a76c760a05da241907ff00 Mon Sep 17 00:00:00 2001 From: Bartek Stalewski Date: Wed, 13 Aug 2025 15:44:36 +0200 Subject: [PATCH] (zsh) create common.zsh with global settings --- config/common/zsh/.zshrc | 83 +------------------------------- config/common/zsh/common.zsh | 93 ++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+), 82 deletions(-) create mode 100644 config/common/zsh/common.zsh diff --git a/config/common/zsh/.zshrc b/config/common/zsh/.zshrc index 833f29f..a375c35 100644 --- a/config/common/zsh/.zshrc +++ b/config/common/zsh/.zshrc @@ -1,85 +1,4 @@ -# shellcheck disable=SC1091,SC1094,SC2206,SC2148 - -# quick note functionality -if [[ -f "${HOME}/.note" ]]; then - echo - cat "${HOME}/.note" - echo -fi - -tabs 2,4,6,8,10,12,14,16,18,20 - -# instant prompt should stay on the top -if [[ -r "${XDG_CACHE_HOME}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME}/p10k-instant-prompt-${(%):-%n}.zsh" -fi - -# macOS specific -if [[ $(uname -s) = "Darwin" ]]; then - eval "$(/opt/homebrew/bin/brew shellenv)" -fi - -# prepare directories -mkdir -p "${XDG_CACHE_HOME}/zsh" -mkdir -p "${XDG_DATA_HOME}/zsh" - -# history settings -export HISTFILE="${XDG_DATA_HOME}/zsh/history" -export HISTSIZE=10000 -export SAVEHIST=$HISTSIZE -setopt EXTENDED_HISTORY -setopt HIST_EXPIRE_DUPS_FIRST -setopt HIST_FIND_NO_DUPS -setopt HIST_IGNORE_ALL_DUPS -setopt HIST_IGNORE_DUPS -setopt HIST_IGNORE_SPACE -setopt HIST_REDUCE_BLANKS -setopt HIST_SAVE_NO_DUPS -setopt INC_APPEND_HISTORY -setopt SHARE_HISTORY -setopt RMSTARSILENT -rm -rf "${ZDOTDIR}/.zsh_history" && ln -sf "${XDG_DATA_HOME}/zsh/history" "${ZDOTDIR}/.zsh_history" - -# set path -path=(~/.local/bin "${path[@]}") - -# source configuration -source "${ZDOTDIR}/aliases.zsh" -source "${ZDOTDIR}/keys.zsh" -source "${ZDOTDIR}/fzf.zsh" - -# set fpath -fpath=(~/.local/git/zsh_modules/wd $fpath) - -# theme and colors -if [[ $(command -v vivid) ]]; then - LS_COLORS=$(vivid generate molokai) - export LS_COLORS -else - unset LS_COLORS -fi -source ~/.local/git/zsh_modules/powerlevel10k/powerlevel10k.zsh-theme -source "${ZDOTDIR}/p10k.zsh" - -# completion -autoload -Uz compinit -if [ ! -e "${XDG_DATA_HOME}/zsh/zcompdump.zwc" ]; then - autoload -Uz zrecompile - zrecompile -p -R "${XDG_DATA_HOME}/zsh/zcompdump" -fi -compinit -C -d "${XDG_DATA_HOME}/zsh/zcompdump" - -zstyle ':completion:*' menu select -zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} - -# source modules -source "${HOME}/.local/git/zsh_modules/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh" -source "${HOME}/.local/git/zsh_modules/wd/wd.plugin.zsh" -source "${HOME}/.local/git/zsh_modules/diff-so-fancy/diff-so-fancy.plugin.zsh" -export WD_CONFIG="${XDG_CONFIG_HOME}/wd_list" - -# cleaning -rm -rf "${HOME}/.warprc" +source "${ZDOTDIR}/common.zsh" # local settings if [[ -f "${HOME}/.local/config/zsh" ]]; then diff --git a/config/common/zsh/common.zsh b/config/common/zsh/common.zsh new file mode 100644 index 0000000..34399c6 --- /dev/null +++ b/config/common/zsh/common.zsh @@ -0,0 +1,93 @@ +# shellcheck disable=SC1091,SC1094,SC2206,SC2148 + +if [ $(uname -s) = "Darwin" ]; then + realhome=$(dscl . -read /Users/${USER} | grep Home | cut -d' ' -f2) +else + realhome=$(getent passwd ${USER} | cut -d: -f6) +fi + +# quick note functionality +if [[ -f "${realhome}/.note" ]]; then + echo + cat "${realhome}/.note" + echo +fi + +tabs 2,4,6,8,10,12,14,16,18,20 + +# instant prompt should stay on the top +if [[ -r "${XDG_CACHE_HOME}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +# macOS specific +if [[ $(uname -s) = "Darwin" ]]; then + eval "$(/opt/homebrew/bin/brew shellenv)" +fi + +# prepare directories +mkdir -p "${XDG_CACHE_HOME}/zsh" +mkdir -p "${XDG_DATA_HOME}/zsh" + +# history settings +export HISTFILE="${XDG_DATA_HOME}/zsh/history" +export HISTSIZE=10000 +export SAVEHIST=$HISTSIZE +setopt EXTENDED_HISTORY +setopt HIST_EXPIRE_DUPS_FIRST +setopt HIST_FIND_NO_DUPS +setopt HIST_IGNORE_ALL_DUPS +setopt HIST_IGNORE_DUPS +setopt HIST_IGNORE_SPACE +setopt HIST_REDUCE_BLANKS +setopt HIST_SAVE_NO_DUPS +setopt INC_APPEND_HISTORY +setopt SHARE_HISTORY +setopt RMSTARSILENT +rm -rf "${realhome}/.config/zsh/.zsh_history" && ln -sf "${XDG_DATA_HOME}/zsh/history" "${realhome}/.config/zsh/.zsh_history" + +# set path +path=(~/.local/bin "${path[@]}") + +# source configuration +source "${realhome}/.config/zsh/aliases.zsh" +source "${realhome}/.config/zsh/keys.zsh" +source "${realhome}/.config/zsh/fzf.zsh" + +# set fpath +fpath=(~/.local/git/zsh_modules/wd $fpath) + +# theme and colors +if [[ $(command -v vivid) ]]; then + LS_COLORS=$(vivid generate molokai) + export LS_COLORS +else + unset LS_COLORS +fi +source "${realhome}/.local/git/zsh_modules/powerlevel10k/powerlevel10k.zsh-theme" +source "${realhome}/.config/zsh/p10k.zsh" + +# completion +autoload -Uz compinit +if [ ! -e "${XDG_DATA_HOME}/zsh/zcompdump.zwc" ]; then + autoload -Uz zrecompile + zrecompile -p -R "${XDG_DATA_HOME}/zsh/zcompdump" +fi +compinit -C -d "${XDG_DATA_HOME}/zsh/zcompdump" + +zstyle ':completion:*' menu select +zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} + +# source modules +source "${realhome}/.local/git/zsh_modules/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh" +source "${realhome}/.local/git/zsh_modules/wd/wd.plugin.zsh" +source "${realhome}/.local/git/zsh_modules/diff-so-fancy/diff-so-fancy.plugin.zsh" +export WD_CONFIG="${XDG_CONFIG_HOME}/wd_list" + +# cleaning +rm -rf "${realhome}/.warprc" + +# local settings +if [[ -f "${realhome}/.local/config/zsh" ]]; then + source "${realhome}/.local/config/zsh" +fi