## Settings # Directories export XDG_CACHE_HOME="$HOME/.cache" export XDG_CONFIG_HOME="$HOME/.config" export XDG_DATA_HOME="$HOME/.local/share" # VIM export EDITOR="vim" # X11 export XINITRC="$XDG_CONFIG_HOME/xorg/xinitrc" export XAUTHORITY="$XDG_DATA_HOME/xorg/Xauthority" ## ZSH autoload -Uz promptinit colors vcs_info compinit # Prompt promptinit colors setopt INTERACTIVE_COMMENTS setopt PROMPT_SUBST precmd() { vcs_info } USR_HOST="%F{cyan}%n%f@%F{cyan}%m%f" DIRECTORY="%F{green}%~%f" ARROW="%(?..%F{red})➤%f" PROMPT='╭─${USR_HOST} ${DIRECTORY} ${vcs_info_msg_0_} ╰─${ARROW} ' RPROMPT='%t' # Git zstyle ':vcs_info:*' enable git zstyle ':vcs_info:*' check-for-changes true zstyle ':vcs_info:*' stagedstr "%F{green}A%f" zstyle ':vcs_info:*' unstagedstr "%F{red}M%f" zstyle ':vcs_info:*' formats '%F{cyan}(%F{red}%b%F{cyan})%f %c%u' # Autocompletion compinit -d $XDG_CACHE_HOME/zcompdump zstyle ':completion::complete:*' use-cache 1 zstyle ':completion::complete:*' cache-path $XDG_CACHE_HOME/zcache zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*' zstyle ':completion:*' list-colors '' zstyle ':completion:*' menu select # Bind keys bindkey '\eOd' backward-word bindkey '\eOc' forward-word bindkey '\e[7~' beginning-of-line bindkey '\e[3~' delete-char bindkey '\e[8~' end-of-line # History setopt APPEND_HISTORY setopt EXTENDED_HISTORY setopt HIST_FIND_NO_DUPS setopt HIST_IGNORE_ALL_DUPS setopt HIST_IGNORE_DUPS setopt HIST_REDUCE_BLANKS setopt HIST_SAVE_NO_DUPS HISTFILE=$ZDOTDIR/.zsh_history HISTSIZE=10000 SAVEHIST=10000 ## Aliases alias q='exit' alias la='ls -laGh --color' alias ls='ls --color' alias rm='rm -i' alias zrc='nano $ZDOTDIR/.zshrc' alias lzrc='source $ZDOTDIR/.zshrc' alias install='sudo pacman -S' alias remove='sudo pacman -Rns' alias update='sudo pacman -Syy; sudo pacman -Syu' alias clean='sudo pacman -Rns $(pacman -Qtdq)' alias depend='pacman -Qtd' alias poweroff='systemctl poweroff' alias reboot='systemctl reboot' alias upl='pio run --target=upload' alias ser='pio serialports monitor -b 9600' # Git alias g="git" alias ga="g add" alias gs="g status" alias gc="g commit" alias gp="g pull" alias gps="g push" alias gd="g diff" alias gdc="gd --cached" alias gl="g log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d %C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all" # Laptop alias offtouchpad='sudo rmmod i2c_hid' alias ontouchpad='sudo modprobe i2c_hid' alias nw="$HOME/.scripts/network.sh" # Other source $ZDOTDIR/.zshrc_extended # Fun spurdo() { sed "s/kek/geg/gI;s/epic/ebin/gI;s/america/clapistan/gI;s/right/rite/gI;s/your/ur/gI;s/\./ :DD/gI;s/'//gI;s/,/XDD/gI;s/wh/w/gI;s/th/d/gI;s/af/ab/gI;s/ap/ab/gI;s/ca/ga/gI;s/ck/gg/gI;s/co/go/gI;s/ev/eb/gI;s/ex/egz/gI;s/et/ed/gI;s/iv/ib/gI;s/it/id/gI;s/ke/ge/gI;s/nt/nd/gI;s/op/ob/gI;s/ot/od/gI;s/po/bo/gI;s/pe/be/gI;s/pi/bi/gI;s/up/ub/gI;s/va/ba/gI;s/ck/gg/gI;s/cr/gr/gI;s/kn/gn/gI;s/lt/ld/gI;s/mm/m/gI;s/nt/dn/gI;s/pr/br/gI;s/ts/dz/gI;s/tr/dr/gI;s/bs/bz/gI;s/ds/dz/gI;s/es/es/gI;s/fs/fz/gI;s/gs/gz/gI;s/ is/iz/gI;s/as/az/gI;s/ls/lz/gI;s/ms/mz/gI;s/ns/nz/gI;s/rs/rz/gI;s/ss/sz/gI;s/ts/tz/gI;s/us/uz/gI;s/ws/wz/gI;s/ys/yz/gI;s/alk/olk/gI;s/ing/ign/gI;s/ic/ig/gI;s/ng/nk/gI" \ <<< "${@:-$(cat /dev/stdin)}" } ## Login [[ $USER == "rick" ]] && [ "$(tty)" = "/dev/tty1" ] && exec xinit -- vt1 &> /dev/null