dotfiles/zsh/rc.zsh
2021-07-23 14:40:17 +02:00

103 lines
4.6 KiB
Bash

# Enable Powerlevel10k instant prompt
[[ -r "$HOME/.cache/p10k-instant-prompt-${(%):-%n}.zsh" ]] && source "$HOME/.cache/p10k-instant-prompt-${(%):-%n}.zsh"
export fpath=($fpath $ZDOTDIR/local/fpath)
export SPACEVIMDIR="$HOME/.config/spacevim/"
export FZF_MARKS_FILE=$HOME/.config/fzfmarks
export STARSHIP_CONFIG=$ZDOTDIR/starship.toml
export ZSH_EVALCACHE_DIR="$HOME/.cache/evalcache"
# Setopt Stuff
setopt multios prompt_subst auto_pushd pushd_ignore_dups pushdminus inc_append_history
# Zinit Clone if not exist
[[ ! -f $HOME/.config/zinit/bin/zinit.zsh ]] && command git clone https://github.com/zdharma/zinit $HOME/.config/zinit/bin
# Zinit
declare -A ZINIT
ZINIT[BIN_DIR]="$HOME/.config/zinit/bin"
ZINIT[HOME_DIR]="$HOME/.config/zinit"
ZINIT[ZCOMPDUMP_PATH]="$HOME/.cache/zsh/compdump"
source $HOME/.config/zinit/bin/zinit.zsh
# Programs
zinit ice as"program" from"gh-r" mv"fd* -> fd" pick"fd/fd"; zinit light "sharkdp/fd"
zinit ice as"program" from"gh-r" mv"bat* -> bat" pick"bat/bat"; zinit light "sharkdp/bat"
zinit ice as"program" from"gh-r" mv"exa* -> exa"; zinit light "ogham/exa"
zinit ice as"program" from"gh-r" mv"ripgrep* -> ripgrep" pick"ripgrep/rg"; zinit light "BurntSushi/ripgrep"
zinit ice as"program" from"gh-r" mv"jq-* -> jq"; zinit light "stedolan/jq"
# Completions and Autosuggestions
zinit ice lucid blockf atpull'zinit creinstall -q .'; zinit light "zsh-users/zsh-completions"
zinit ice lucid atload"_zsh_autosuggest_start"; zinit light "zsh-users/zsh-autosuggestions"
# History
export SAVEHIST=20000
export HISTFILE=$HOME/.cache/zsh/history
# Aliases
alias ls='exa -al --color=always --group-directories-first'
alias cat='bat'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias sc-status="sudo systemctl status"
alias sc-start="sudo systemctl start"
alias sc-stop="sudo systemctl stop"
alias sc-reload="sudo systemctl reload"
alias sc-restart="sudo systemctl restart"
alias sc-enable="sudo systemctl enable"
alias sc-disable="sudo systemctl disable"
alias sc-daemon-reload="sudo systemctl daemon-reload"
alias termbin="nc termbin.com 9999"
gitpush () { git add .; git commit -m "$*"; git pull; git push }
dotupdate () { echo -n "Updating Dotfiles... "; git -C $HOME/.config/dotfiles pull &>/dev/null; echo "done" }
themeupdate () { curl -fsSL https://starship.rs/install.sh | bash -s -- --force }
# Library Files
source $ZDOTDIR/files/direnv.zsh
source $ZDOTDIR/files/sshagent.zsh
zinit pack for ls_colors
zinit snippet OMZL::history.zsh
zinit snippet OMZL::functions.zsh
zinit snippet OMZL::completion.zsh
zinit snippet OMZL::directories.zsh
zinit snippet OMZL::key-bindings.zsh
zinit snippet OMZL::termsupport.zsh
zinit snippet OMZL::clipboard.zsh
zinit snippet OMZL::grep.zsh
# Completion Stuff
zstyle ':completion:*:*:*:users' ignored-patterns '*'
zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })'
zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
zstyle ':completion:*:ssh:*' tag-order users 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
zstyle ':completion:*:*:*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost localhost4 localhost6 ip6-localhost broadcasthost pxm
zstyle ':completion:*:*:*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*localdomain*' '*.eeleater.org' '*.local'
zstyle ':completion:*:*:*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
# Plugins
zinit ice lucid; zinit light "mroth/evalcache"
zinit ice lucid; zinit snippet OMZP::command-not-found
zinit ice lucid; zinit snippet OMZP::fzf
zinit ice lucid; zinit light "b4b4r07/enhancd"
zinit ice lucid; zinit light "jreese/zsh-titles"
zinit ice lucid; zinit light "urbainvaes/fzf-marks"
zinit ice lucid; zinit light "Aloxaf/fzf-tab"
zinit ice lucid; zinit light "wfxr/forgit"
zinit ice lucid; zinit light "reegnz/jq-zsh-plugin"
# syntax highlighting
zinit ice lucid atinit"ZINIT[COMPINIT_OPTS]=-C; zpcompinit; zpcdreplay"; zinit light "zdharma/fast-syntax-highlighting"
# Theme
zinit ice depth=1; zinit light "romkatv/powerlevel10k"
[[ ! -f "$ZDOTDIR/.p10k.zsh" ]] || source "$ZDOTDIR/.p10k.zsh" # p10k configure || nano ~/.config/dotfiles/zsh/.p10k.zsh
# Local RC
[[ -f "$ZDOTDIR/local/rc.zsh" ]] && source "$ZDOTDIR/local/rc.zsh"