112 lines
4.2 KiB
Bash
112 lines
4.2 KiB
Bash
if test -v DISTROBOX_HOST_HOME; then unset ZDOTDIR; exec zsh; fi # fix distrobox
|
|
if test $TERMINALNAME = "alacritty"; then eval "$(zellij setup --generate-auto-start zsh)"; fi # autostart only in alacritty
|
|
|
|
#fastfetch
|
|
bofh; echo " - BOFH"
|
|
#source /usr/share/zsh/plugins/hq/hq.zsh
|
|
#colorscript random
|
|
|
|
# Powerlevel10k - instant prompt and config
|
|
test -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" && source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
|
test -f "$XDG_CONFIG_HOME"/zsh/.p10k.zsh && source "$XDG_CONFIG_HOME"/zsh/.p10k.zsh # p10k configure
|
|
|
|
# ensure zsh cache folder exists
|
|
mkdir -p "$XDG_CACHE_HOME"/zsh &>/dev/null
|
|
|
|
# compinit
|
|
autoload -Uz compinit; compinit -d "$XDG_CACHE_HOME"/zsh/compdump
|
|
|
|
# autosuggestions
|
|
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
|
|
|
# history
|
|
setopt inc_append_history
|
|
|
|
# libraries
|
|
source /usr/share/ohmyzsh/lib/history.zsh
|
|
source /usr/share/ohmyzsh/lib/completion.zsh
|
|
source /usr/share/ohmyzsh/lib/directories.zsh
|
|
source /usr/share/ohmyzsh/lib/key-bindings.zsh
|
|
|
|
# plugins (omz)
|
|
source /usr/share/ohmyzsh/plugins/systemd/systemd.plugin.zsh
|
|
source /usr/share/ohmyzsh/plugins/fzf/fzf.plugin.zsh
|
|
|
|
# plugins (arch)
|
|
source /usr/share/doc/find-the-command/ftc.zsh
|
|
source /usr/share/zsh/plugins/fzf-tab/fzf-tab.zsh
|
|
source /usr/share/zsh/plugins/fzf-marks/fzf-marks.zsh
|
|
source /usr/share/zsh/plugins/evalcache/evalcache.zsh
|
|
source /usr/share/zsh/plugins/colorize/colorize.zsh
|
|
source /usr/share/zsh/plugins/wakatime/wakatime.zsh
|
|
source /usr/share/zsh/plugins/titles/titles.zsh
|
|
source /usr/share/zsh/plugins/thefuck/thefuck.zsh
|
|
source /usr/share/zsh/plugins/ysu/ysu.zsh
|
|
source /usr/share/zsh/plugins/oath/oath.zsh
|
|
source /usr/share/zsh/plugins/exa/exa.zsh
|
|
source /usr/share/zsh/plugins/bat/bat.zsh
|
|
|
|
# plugins (self)
|
|
source /home/weger/.config/zsh/distroicon.zsh
|
|
source /home/weger/.config/zsh/transfer.zsh
|
|
|
|
#themes
|
|
source /usr/share/zsh/themes/powerlevel10k/powerlevel10k.zsh-theme
|
|
#_evalcache starship init zsh
|
|
#_evalcache oh-my-posh init zsh --config /usr/share/oh-my-posh/themes/kali.omp.json
|
|
|
|
# syntax highlighting
|
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
|
|
# eval stuff
|
|
_evalcache zoxide init zsh
|
|
_evalcache dircolors -b /usr/share/LS_COLORS/LS_COLORS
|
|
_evalcache atuin init zsh
|
|
_evalcache navi widget zsh
|
|
_evalcache direnv hook zsh
|
|
source /opt/asdf-vm/asdf.sh
|
|
eval "$(keychain --dir "$XDG_CACHE_HOME"/keychain --eval --quiet id_rsa)"
|
|
|
|
# aliases
|
|
alias cd='z'
|
|
alias grep='rg'
|
|
alias find='fd'
|
|
|
|
# make rm, cp and mv safer
|
|
alias rm='rm -i'
|
|
alias cp='cp -i'
|
|
alias mv='mv -i'
|
|
|
|
# misc aliases
|
|
alias termbin="nc termbin.com 9999"
|
|
alias ktheme='kitty +kitten themes --reload-in=all'
|
|
alias wget='wget --hsts-file="$XDG_DATA_HOME"/wget-hsts'
|
|
if (( ${+commands[nvim]} )); then alias vim="nvim"; fi
|
|
|
|
# gdb stuff
|
|
alias peda="gdb -iex 'source /usr/share/peda/peda.py' --nh -q"
|
|
alias gef="gdb -iex 'source /usr/share/gef/gef.py' --nh -q"
|
|
alias pwndbg="gdb -iex 'source /usr/share/pwndbg/gdbinit.py' --nh -q"
|
|
|
|
# key bindings
|
|
run_ranger () { echo; ranger < $TTY; zle redisplay }
|
|
zle -N run_ranger
|
|
bindkey '^f' run_ranger
|
|
|
|
pet_select () { BUFFER=$(pet search --query "$LBUFFER"); CURSOR=$#BUFFER; zle redisplay }
|
|
zle -N pet_select
|
|
bindkey '^l' pet_select
|
|
|
|
# use known_hosts for completion
|
|
zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })'
|
|
|
|
# order stuff
|
|
zstyle ':completion:*:(scp|ssh):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
|
zstyle ':completion:*:scp:*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
|
|
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
|
|
|
|
# ignored patterns
|
|
zstyle ':completion:*:*:*:users' ignored-patterns '*'
|
|
zstyle ':completion:*:*:*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost localhost4 localhost6 ip6-localhost broadcasthost
|
|
zstyle ':completion:*:*:*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*localdomain*' '*.eeleater.org' '*.local' '*.hbz-nrw.de'
|
|
zstyle ':completion:*:*:*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
|