dotfiles/zsh/rc.zsh
Nikolas Weger b3ae29b01c stuff
2020-12-11 13:10:46 +01:00

86 lines
3.5 KiB
Bash

export path=($path $HOME/.config/dotfiles/bin)
export fpath=($fpath $ZDOTDIR/local/fpath)
export FZF_MARKS_FILE=$HOME/.config/fzfmarks
export STARSHIP_CONFIG=$ZDOTDIR/starship.toml
# Stuff
setopt auto_cd
setopt multios
setopt prompt_subst
setopt auto_pushd
setopt pushd_ignore_dups
setopt pushdminus
# 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
# Theme
eval "$(starship init 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 load BurntSushi/ripgrep
zinit ice as"program" from"gh-r" mv"gopass* -> gopass" pick"gopass/gopass"; zinit load gopasspw/gopass
# 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 Stuff
SAVEHIST=20000
HISTFILE=$HOME/.cache/zsh/history
setopt inc_append_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:*' list-colors ${(s.:.)LS_COLORS}
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:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost localhost4 localhost6 ip6-localhost broadcasthost pxm
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*localdomain*' '*.eeleater.org' '*sublime*' '*.local'
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
# Plugins
eval "$(fasd --init auto)"
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 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 voronkovich/gitignore.plugin.zsh
zinit ice wait lucid; zinit light reegnz/jq-zsh-plugin
zinit ice wait lucid; zinit light asdf-vm/asdf
# syntax highlighting
zpcompinit
autoload -U +X bashcompinit
bashcompinit
zinit ice wait lucid atinit"zpcdreplay -q"; zinit light zsh-users/zsh-syntax-highlighting
# Local RC
[[ -f "$ZDOTDIR/local/rc.zsh" ]] && source "$ZDOTDIR/local/rc.zsh"