(zsh) create common.zsh with global settings
This commit is contained in:
parent
3167fff12e
commit
4a28e2acf4
2 changed files with 94 additions and 82 deletions
93
config/common/zsh/common.zsh
Normal file
93
config/common/zsh/common.zsh
Normal file
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue