dotfiles/zsh/rc.zsh
Nikolas Weger d998e8e531 stuff
2020-12-23 22:59:51 +01:00

100 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 FZF_MARKS_FILE=$HOME/.config/fzfmarks
export STARSHIP_CONFIG=$ZDOTDIR/starship.toml
export ZSH_EVALCACHE_DIR="$HOME/.cache/evalcache"
# Setopt Stuff
setopt multios
setopt prompt_subst
setopt auto_pushd
setopt pushd_ignore_dups
setopt pushdminus
setopt 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"pet* -> pet" pick"usr/local/bin/pet"; zinit light knqyf263/pet
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"gopass* -> gopass" pick"gopass/gopass"; zinit light gopasspw/gopass
zinit ice as"program" from"gh-r" mv"jq-* -> jq"; zinit light "stedolan/jq"
zinit ice as"program" pick"emojify"; zinit light "mrowa44/emojify"
zinit ice as"program" pick"ansi"; zinit light "fidian/ansi"
zinit light "micha/resty"
# Completions and Autosuggestions
zinit ice wait lucid blockf atpull'zinit creinstall -q .'; zinit light "zsh-users/zsh-completions"
zinit ice wait lucid atload"_zsh_autosuggest_start"; zinit light "zsh-users/zsh-autosuggestions"
# History
export SAVEHIST=20000
export HISTFILE=$HOME/.cache/zsh/history
# Library Files
source $ZDOTDIR/files/aliases.zsh
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 wait lucid; zinit snippet OMZP::command-not-found
zinit ice wait lucid; zinit snippet OMZP::lando
zinit ice wait lucid; zinit snippet OMZP::thefuck
zinit ice wait lucid; zinit snippet OMZP::fzf
zinit ice wait lucid; zinit light "b4b4r07/enhancd"
zinit ice wait lucid; zinit light "jreese/zsh-titles"
zinit ice wait lucid; zinit light "wookayin/fzf-fasd"
zinit ice wait lucid; zinit light "urbainvaes/fzf-marks"
zinit ice wait lucid; zinit light "Aloxaf/fzf-tab"
zinit ice wait lucid; zinit light "wfxr/forgit"
zinit ice wait lucid; zinit light "reegnz/jq-zsh-plugin"
zinit ice wait lucid; zinit light "asdf-vm/asdf"
zinit ice wait lucid; zinit light "b4b4r07/emoji-cli"
# syntax highlighting
zpcompinit
zinit ice wait lucid atinit"zpcdreplay -q"; zinit light "zsh-users/zsh-syntax-highlighting"
# Theme
zinit ice depth=1; zinit light "romkatv/powerlevel10k"
#_evalcache starship init zsh
# Local RC
[[ -f "$ZDOTDIR/local/rc.zsh" ]] && source "$ZDOTDIR/local/rc.zsh"
# To customize prompt, run `p10k configure` or edit ~/.config/dotfiles/zsh/.p10k.zsh.
[[ ! -f ~/.config/dotfiles/zsh/.p10k.zsh ]] || source ~/.config/dotfiles/zsh/.p10k.zsh