zsh_server/.zshrc
2024-06-01 14:21:30 +02:00

139 lines
4.8 KiB
Bash
Executable file

export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}"
export EDITOR="vim"
export TERM="screen-256color"
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$HOME/.cache"
export LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.svg=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:"
PROMPT='%F{#83c092}%n%f%B@%b%F{#e67e80}%m%f %F{#fffbef}%~%f${vcs_info_msg_0_}'$'\n''%B%(?.%F{#a7c080}>.%F{#e67e80}>)%f%b '
zstyle ':completion:*' completer _complete _ignored _approximate
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' menu select=long-list select=0
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl true
zmodload zsh/complist
autoload -Uz compinit
compinit
_comp_options+=(globdots)
HISTSIZE=10000000
SAVEHIST=10000000
HISTFILE=$XDG_DATA_HOME/histfile
setopt nomatch notify
unsetopt beep
setopt autocd
# Disable ctrl-s to freeze terminal
stty stop undef
# use the vi keys to navigate the menu completion
bindkey -v
bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'l' vi-forward-char
bindkey -M menuselect 'j' vi-down-line-or-history
# Configs for Git in Prompt
# autoload zsh add-zsh-hook and vcs_info functions (-U autoload w/o substition, -z use zsh style)
autoload -Uz add-zsh-hook vcs_info
# # Enable substitution in the prompt.
setopt prompt_subst
# Run vcs_info just before a prompt is displayed (precmd)
add-zsh-hook precmd vcs_info
# Enable checking for (un)staged changes, enabling use of %u and %c
zstyle ':vcs_info:*' check-for-changes true
# Set custom strings for an unstaged vcs repo changes (*) and staged changes (+)
zstyle ':vcs_info:*' unstagedstr ' +'
zstyle ':vcs_info:*' stagedstr ' *'
# Set the format of the Git information for vcs_info
zstyle ':vcs_info:git:*' formats ' %B%F{#dbbc7f}%f%%b %F{#dbbc7f}%B%b%f%%b%B%F{#dbbc7f}%u%c%%b%f'
zstyle ':vcs_info:git:*' actionformats ' %B%F{#dbbc7f}%f%%b %F{#dbbc7f}%B%b%f%%b %F{#a7c080}(%a)%f%B%F{#fabd2f}%u%c%%b%f'
local OS=$(grep -w "ID=..*" < /etc/os-release | sed 's/ID=//')
if [ $OS = "artix" ] || [ $OS = "arch" ] || [ $OS = "\"void\"" ]; then
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
else
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
fi
# Use neovim for vim if present.
[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
for command in mount umount apt dnf xbps-install pacman updatedb init systemctl service openrc-shutdown reboot sv; do
alias $command="doas $command"
done; unset command
if command -v doas > /dev/null
then
alias \
sudo="doas" \
usod="doas" \
suod="doas" \
duso="doas" \
osud="doas" \
duso="doas" \
daos="doas" \
daso="doas" \
ados="doas" \
odas="doas";
else
alias \
doas="sudo" \
usod="sudo" \
suod="sudo" \
duso="sudo" \
osud="sudo" \
duso="sudo" \
daos="sudo" \
daso="sudo" \
ados="sudo" \
odas="sudo";
fi
alias \
sl="ls" \
ls="ls -hN --color=auto" \
la="ls -ahN --color=auto" \
ll="ls -ahlN --color=auto"
alias \
lsb="lsblk -a" \
lsu="lsusb"
alias \
:q="exit" \
ZZ="exit" \
ZQ="exit" \
quit="exit"
alias \
cp="cp -iv" \
mk="mkdir -pv" \
rm="rm -rI" \
mv="mv -iv"
alias \
rsync="rsync -rtvzP"
alias \
t="tmux" \
ta="tmux new -A -s" \
tn="tmux new-session -t" \
ts="sh -c /home/${USER}/.config/tmux/tmux-sessionizer"
alias \
v="$EDITOR" \
e="$EDITOR" \
z="zathura" \
n="nnn" \
g="git" \
l="ls --color=auto"
alias \
info="info --vi-keys"
[ -f $XDG_CONFIG_HOME/extrarc ] && . $XDG_CONFIG_HOME/extrarc