summaryrefslogtreecommitdiff
path: root/config/essentials/zsh
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2023-12-12 17:21:11 +0100
committerRaymaekers Luca <raymaekers.luca@gmail.com>2023-12-12 17:21:11 +0100
commitf09fce4ff51ff3e26a4d77b23ca34950c9162fc0 (patch)
treeec18b3c02cab7f17574d1168f7a40693ae610cc6 /config/essentials/zsh
parentffc2a7d3cee6385508601374bdd34db253b70c65 (diff)
use seperate shell folder that works cross shells
Diffstat (limited to 'config/essentials/zsh')
-rw-r--r--config/essentials/zsh/.zshrc4
-rw-r--r--config/essentials/zsh/aliases.sh500
-rw-r--r--config/essentials/zsh/functions.sh306
3 files changed, 2 insertions, 808 deletions
diff --git a/config/essentials/zsh/.zshrc b/config/essentials/zsh/.zshrc
index 7b1f7a0..230de24 100644
--- a/config/essentials/zsh/.zshrc
+++ b/config/essentials/zsh/.zshrc
@@ -67,8 +67,8 @@ zle -N add-surround surround
zle -N change-surround surround
# Source files
-. $ZDOTDIR/functions.sh
-. $ZDOTDIR/aliases.sh
+. $XDG_CONFIG_HOME/shell/functions.sh
+. $XDG_CONFIG_HOME/shell/aliases.sh
for file in /{etc,usr/lib}/os-release
do [ -f "$file" ] && . "$file" && break
diff --git a/config/essentials/zsh/aliases.sh b/config/essentials/zsh/aliases.sh
deleted file mode 100644
index 2e23010..0000000
--- a/config/essentials/zsh/aliases.sh
+++ /dev/null
@@ -1,500 +0,0 @@
-#!/bin/sh
-# s/alias \([^-]\)/alias -g \1
-
-# The most important one
-alias vi='emacsclient -nw'
-
-# Zsh specific aliases
-if [ $SHELL = "/bin/zsh" ]
-then
- # googoo aliases
- alias o~='o $HOME'
- alias o/='o /'
- alias o/s='o /srv'
- alias go~='go $HOME'
- alias go/='go /'
- alias go/s='go /srv'
- alias ogo~='ogo $HOME'
- alias ogo/='ogo /'
- alias ogo/s='ogo /srv'
-
- alias calc='bc <<<'
-
- if [ -z "$WAYLAND_DISPLAY" ]
- then
- if which devour > /dev/null 2>&1
- then
- alias mpv='devour mpv'
- alias zathura='devour zathura'
- fi
- fi
- alias clipic='clipo > /tmp/pic.png'
-
- alias -g '...'='../..'
- alias -g '....'='../../..'
- alias -g bg='&; disown'
- alias -g hl='--help |& less -r'
-fi
-
-
-if grep -qi "debian\|ubuntu" /etc/os-release 2> /dev/null
-then
- alias aptup='apt update && apt upgrade -y'
- alias ufwd='while echo y | ufw delete "$(ufw status numbered | tail -n +5 | fzf | cut -f2 -d'\''['\'' | cut -f1 -d'\'']'\'')" > /dev/null 2>&1 && >&2 echo "deleted."; do :; done'
-fi
-
-# Programs
-alias nb='newsboat'
-alias sr='surfraw'
-alias ccu='calcurse'
-alias pf='profanity'
-
-alias gurk='pgrep gurk > /dev/null && printf "Already Running.\n" || gurk'
-
-alias arduino-cli='arduino-cli --config-file $XDG_CONFIG_HOME/arduino15/arduino-cli.yaml'
-
-if [ -x /usr/bin/dircolors ] || [ -x $HOME/../usr/bin/dircolors ]
-then
- test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
- # alias ls='ls -h --color --group-directories-first'
- #alias dir='dir --color=auto'
- #alias vdir='vdir --color=auto'
-
- alias grep='grep --color=auto'
- alias fgrep='fgrep --color=auto'
- alias egrep='egrep --color=auto'
- alias ip='ip -color=auto'
- alias ipa='ip -br a'
-fi
-
-alias l='ls -l'
-alias l1='ls -1'
-alias ll='ls -la'
-alias la='ls -aF'
-alias lst='ls --tree'
-alias lst1='ls --tree -L1'
-alias lst2='ls --tree -L2'
-alias lst3='ls --tree -L3'
-alias ls.='ls -dl .*'
-which exa >/dev/null 2>&1 &&
- alias ls='exa --sort extension --group-directories-first' ||
- alias ls='ls --color --group-directories-first --sort=extension'
-
-# pacman aliases
-alias pac='pacman'
-alias pacsi='pac -Si'
-alias pacs='pac -Ss'
-alias pacq='pac -Q'
-alias pacql='pac -Ql'
-alias pacqs='pac -Qs'
-alias paci='pac -Qi'
-
-alias pacup='dopac -Syu'
-alias dopac='doas pacman'
-alias orpac='pacman -Qtdq | dopac -Rns - 2> /dev/null || echo "No orphans."'
-alias dopacs='dopac -S'
-alias dopacc='dopac -Sc'
-alias doprm='dopac -Rns'
-
-alias mpkg='makepkg -si'
-
-which pikaur > /dev/null 2>&1 &&
- alias yay='pikaur'
-alias yup='yay -Syu'
-alias ysi='yay -Si'
-alias yss='yay -Ss'
-alias yqs='yay -Qs'
-alias yql='yay -Ql'
-alias yays='yay -S'
-alias yrm='yay -Rns'
-
-alias pkb='pkgfile -b'
-
-# transmission
-alias trr='transmission-remote debuc.com'
-alias trls='transmission-remote debuc.com -t all -l'
-alias tradd='transmission-remote debuc.com -a'
-alias trclipo='transmission-remote debuc.com -a "$(clipo)"'
-
-alias grub-update='doas grub-mkconfig -o /boot/grub/grub.cfg'
-
-# vim
-alias vimp="vim '+PlugInstall'"
-alias nvimp="nvim '+PackerSync'"
-alias nvg='git status > /dev/null 2>&1 && nvim "+Git"'
-alias nvn='nvim "+Telekasten panel"'
-
-alias xrandr-rpgmaker='xrandr --auto --output VGA-1 --mode 1024x768 --left-of HDMI-1 && ~/.fehbg'
-alias xrandr-default='xrandr --auto --output VGA-1 --mode 1920x1080 --left-of HDMI-1 --output HDMI-1 --mode 1920x1080 && ~/.fehbg'
-
-alias d='du -d 0 -h'
-alias dud='du .* * -d 0 -h 2>/dev/null | sort -h'
-alias df='df -h'
-alias diff='diff -u --color'
-alias shred='shred -uz'
-alias lsblk='lsblk -o name,type,fsused,fsavail,size,fstype,label,mountpoint'
-alias sxt='sxiv -t'
-alias wgsh='wget --quiet --show-progress'
-alias wgc='wgsh "$(clipo)"'
-alias ss4='ss -tln4p'
-alias mdb='mariadb -u admin -ppass admindb'
-alias mdbw='mariadb -h 0.0.0.0 -u padmin -pbulbizarre padmindb'
-alias mdbwa='mariadb -h 10.3.50.5 -u padmin -pbulbizarre padmindb'
-alias tmux='tmux a || tmux'
-
-# ssh
-alias sha='ssh-add'
-alias sshs='eval "$(ssh-agent)" && ssh-add'
-alias vidlen='ffprobe -show_entries format=duration -v quiet -of csv="p=0" -i'
-alias whatsmyip='curl -s "ifconfig.co"'
-alias icognito='unset HISTFILE'
-alias webcam='v4l2-ctl --set-fmt-video=width=1280,height=720; mpv --demuxer-lavf-format=video4linux2 --demuxer-lavf-o-set=input_format=mjpeg av://v4l2:/dev/video0 --profile=low-latency --untimed --no-resume-playback'
-alias capture='echo "Y" | wf-recorder -o "$(hyprctl -j monitors | jq -r '\''.[].name'\'' | fzf)" --codec=vp8_vaapi --device=/dev/dri/renderD128 -f output.webm -D'
-alias qrclipo='qrencode -s 16 "$(clipo)" -o - | imv -w "imv - $(clipo)" -'
-alias airpods='bluetoothctl connect 60:93:16:24:00:10'
-alias hotpsot='nmcli dev wifi hotspot ifname wlan0 ssid wiefie password "peepeepoopoo"'
-alias wtip='wt ip -c -brief addr'
-alias fusephone='sshfs myphone: /media/phone'
-alias ttyper='ttyper -l english1000 -w 100'
-
-alias wgup='doas wg-quick up wg0'
-alias wgdown='doas wg-quick down wg0'
-
-# NPM
-alias npi="npm init --yes"
-
-# Python
-alias penv='python3 -m venv env'
-alias phttp='python3 -m http.server'
-alias pipreq='pip install -r requirements.txt'
-
-alias ch='chown ${USER}:${USER} -R'
-alias kll='killall'
-alias pi='ping 9.9.9.9 -c4'
-alias sba='source env/bin/activate || source bin/activate'
-
-alias zsr='source ${ZDOTDIR:-~}/.zshrc && rehash'
-alias rh='rehash'
-alias wf='doas wipefs -a'
-alias dmci="doas make clean install"
-alias rmd='rm -f *.{orig,rej}'
-alias cdzot='mkdir -p /tmp/zottesite && cd /tmp/zottesite'
-alias gdate='date +%y_%m_%d-%T'
-alias tpid='tail -f /dev/null --pid'
-alias pwdcp='pwd | clipp'
-alias gw="grep -ri"
-alias srcsupd='echo ~/src/{installdrier,dotfiles,password-store} ~/.config/emacs | supd'
-
-# systemctl aliases
-alias smc='systemctl'
-alias smcs='systemctl status'
-alias smcst='systemctl start'
-alias smcS='systemctl stop'
-alias smcr='systemctl restart'
-alias smcrl='systemctl reload'
-alias smcd='systemctl daemon-reload'
-alias smce='systemctl edit'
-alias smcen='systemctl enable'
-#user
-alias smcu='systemctl --user'
-alias smcus='systemctl --user status'
-alias smcust='systemctl --user start'
-alias smcuS='systemctl --user stop'
-alias smcur='systemctl --user restart'
-alias smcurl='systemctl --user reload'
-alias smcud='systemctl --user daemon-reload'
-alias smcue='systemctl --user edit'
-alias smcuen='systemctl --user enable'
-#doas
-alias dsmc='doas systemctl'
-alias dsmcs='doas systemctl status'
-alias dsmcst='doas systemctl start'
-alias dsmcS='doas systemctl stop'
-alias dsmcr='doas systemctl restart'
-alias dsmcrl='doas systemctl reload'
-alias dsmcd='doas systemctl daemon-reload'
-alias dsmce='doas systemctl edit'
-alias dsmcen='doas systemctl enable'
-
-# virtualbox aliases
-alias vbm='vboxmanage'
-alias vbls='vbm list vms'
-alias vblsr='vbm list runningvms'
-alias vb='vbm startvm'
-
-# quick config
-alias ez='$EDITOR ${ZDOTDIR:-~}/.zshrc'
-alias eza='$EDITOR ${ZDOTDIR}/aliases.sh'
-alias ezf='$EDITOR ${ZDOTDIR}/functions.zsh'
-alias eto='$EDITOR ~/sync/TODO'
-alias edw='$EDITOR ~/proj/suckless/dwm/config.def.h'
-alias edm='$EDITOR ~/proj/suckless/dmenu/config.def.h'
-alias ehst='$EDITOR $ZDOTDIR/histfile'
-alias ezh=' $EDITOR $HISTFILE'
-alias est='$EDITOR ~/proj/suckless/st/config.def.h'
-alias esl='$EDITOR ~/proj/suckless/slock/config.def.h'
-alias esls='$EDITOR ~/proj/suckless/slstatus/config.def.h'
-alias ehy='$EDITOR ~/.config/hypr/hyprland.conf'
-alias ehyb='$EDITOR ~/.config/hypr/binds.conf'
-alias ewbj='$EDITOR ~/.config/waybar/config.jsonc'
-alias ewbs='$EDITOR ~/.config/waybar/style.css'
-alias cfd='$EDITOR config.def.h'
-# /# quick cd jV}k:!sort -t "'" -k 2
-alias cdl='cd ~/dl'
-alias cdoc='cd ~/docs'
-alias czk='cd ~/docs/zk'
-alias cda='cd ~/docs/android/projects'
-alias csv='cd ~/docs/school/Vakken'
-alias cdm='cd ~/music'
-alias cdp='cd ~/pics'
-alias cdpa='cd ~/pics/ai-outputs/'
-alias cdpp='cd ~/proj/personal/'
-alias chom='cd ~/proj/personal/homepage'
-alias lov='cd ~/proj/personal/lola'
-alias cdsh='~/proj/personal/scheduler'
-alias cdsw='cd ~/proj/personal/WheelAdvisor'
-alias cddm='cd ~/proj/suckless/dmenu'
-alias cdw='cd ~/proj/suckless/dwm'
-alias cdslo='cd ~/proj/suckless/slock'
-alias cdsl='cd ~/proj/suckless/slstatus'
-alias cdst='cd ~/proj/suckless/st'
-alias cdsta='cd ~/proj/suckless/stable-diffusion-webui'
-alias cdsu='cd ~/proj/suckless/surf'
-alias cds='cd ~/src/'
-alias cdsb='cd ~/src/build'
-alias cdsc='cd ~/src/comfyui/'
-alias cdo='cd ~/src/dotfiles'
-alias cdi='cd ~/src/installdrier'
-alias cdia='cd ~/src/installdrier/arch'
-alias cdib='cd ~/src/installdrier/deb'
-alias czo='cd ~/zot/'
-alias cdpw='cd ${PASSWORD_STORE_DIR:-~/.password-store}'
-alias cdng='cd /etc/nginx'
-alias cdrs='cd /srv/'
-alias cdv='cd ~/vids'
-alias god='cd "$(find . -mindepth 1 -maxdepth 1 -type d | fzf)"'
-alias gov='go ~/vids d'
-
-# fzf aliases
-alias ppj='cd ~/proj/personal/"$(find ~/proj/personal -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | fzf)"'
-alias ppjs='cd ~/proj/personal/scripts/"$(find ~/proj/personal/scripts -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | fzf)"'
-alias scr='edit_in_dir ~/proj/personal/scripts/'
-alias fil='edit_in_dir ~/docs/filios/'
-alias fzps='ps aux | tail +2 | fzf | tee /dev/stderr | awk '\''{print $2}'\'' | clipp'
-alias asf='alias | fzf'
-alias fzh="fzf --tac < $HISTFILE | tee /dev/stderr | clipp"
-alias ffwin='hyprctl clients -j | jq '\''.[].pid'\'' | fzf --preview "hyprctl clients -j | jq '\''.[] | select(.pid == {}) | {class, title, workspace, xwayland}'\''"'
-alias pff='find ${PASSWORD_STORE_DIR:=~/src/password-store/} -name "*.gpg" | sed -e "s@$PASSWORD_STORE_DIR/@@" -e '\''s/\.gpg$//'\'' | fzf | xargs pass show -c'
-alias fzps='fzf --print0 | xargs -0I{}'
-alias ytdl='yt-dlp --restrict-filenames --embed-chapters -f "b" -S "res:1080" -P "$HOME/vids/youtube/" -o "%(channel)s/%(title)s.%(ext)s"'
-alias ytplay='mpv "$(ytlink)"'
-
-# emacs aliases
-alias emacsd='emacs --daemon'
-alias emacsdbg='emacs --debug-init'
-alias e='emacsclient -c -a "emacs"'
-
-# docker aliases
-alias dcb='docker build'
-alias dcbt='docker build -t'
-alias dce='docker exec'
-alias dcet='docker exec -it'
-alias dcmp='docker compose up -d'
-
-# dotnet aliases
-alias dncns='dotnet new console --use-program-main -o'
-
-# debuc aliases
-alias dbadd='ssh db dladd "'\''$(clipo)'\''"'
-alias dbcons='ssh -t db dlcons'
-alias dbinf='ssh db dlinfo'
-alias sshdb='ssh -t db "tmux a || tmux"'
-alias dbsmu='rsync -aPz db:/media/basilisk/music/ /media/kilimanjaro/music'
-
-# oh-my-zsh git aliases
-alias config='GIT_WORK_TREE=~/src/dotfiles/ GIT_DIR=~/src/dotfiles/.git'
-alias cfg='$EDITOR ~/src/dotfiles/"$(config git ls-files | fzf || exit)"'
-alias gmod='git status --short | sed '\''/^\s*M/!d;s/^\s*M\s*//'\'' | fzf | xargs $EDITOR'
-alias g='git'
-alias ga='git add'
-alias gaa='git add --all'
-alias gapa='git add --patch'
-alias gau='git add --update'
-alias gav='git add --verbose'
-alias gap='git apply'
-alias gapt='git apply --3way'
-alias gb='git branch'
-alias gba='git branch --all'
-alias gbd='git branch --delete'
-alias gbda='git branch --no-color --merged | command grep -vE "^([+*]|\s*($(git_main_branch)|$(git_develop_branch))\s*$)" | command xargs git branch --delete 2>/dev/null'
-alias gbD='git branch --delete --force'
-alias gbg='git branch -vv | grep ": gone\]"'
-alias gbgd='local res=$(gbg | awk '"'"'{print $1}'"'"') && [[ $res ]] && echo $res | xargs git branch -d'
-alias gbgD='local res=$(gbg | awk '"'"'{print $1}'"'"') && [[ $res ]] && echo $res | xargs git branch -D'
-alias gbl='git blame -b -w'
-alias gbnm='git branch --no-merged'
-alias gbr='git branch --remote'
-alias gbs='git bisect'
-alias gbsb='git bisect bad'
-alias gbsg='git bisect good'
-alias gbsr='git bisect reset'
-alias gbss='git bisect start'
-alias gc='git commit --verbose'
-alias gc!='git commit --verbose --amend'
-alias gcn!='git commit --verbose --no-edit --amend'
-alias gca='git commit --verbose --all'
-alias gca!='git commit --verbose --all --amend'
-alias gcan!='git commit --verbose --all --no-edit --amend'
-alias gcans!='git commit --verbose --all --signoff --no-edit --amend'
-alias gcam='git commit --all --message'
-alias gcsm='git commit --signoff --message'
-alias gcas='git commit --all --signoff'
-alias gcasm='git commit --all --signoff --message'
-alias gcb='git checkout -b'
-alias gcf='git config --list'
-alias gcl='git clone'
-alias gclc='git clone "$(clipo)"'
-alias gclr='git clone --recurse-submodules'
-alias gc1='git clone --depth 1'
-alias gclean='git clean --interactive -d'
-alias gpristine='git reset --hard && git clean --force -dfx'
-alias grsf='git reset --soft HEAD~'
-alias gcm='git checkout $(git_main_branch)'
-alias gcd='git checkout $(git_develop_branch)'
-alias gcmsg='git commit --message'
-alias gco='git checkout'
-alias gcor='git checkout --recurse-submodules'
-alias gcount='git shortlog --summary --numbered'
-alias gcp='git cherry-pick'
-alias gcpa='git cherry-pick --abort'
-alias gcpc='git cherry-pick --continue'
-alias gcs='git commit --gpg-sign'
-alias gcss='git commit --gpg-sign --signoff'
-alias gcssm='git commit --gpg-sign --signoff --message'
-alias gd='git diff'
-alias gdca='git diff --cached'
-alias gdcw='git diff --cached --word-diff'
-alias gdct='git describe --tags $(git rev-list --tags --max-count=1)'
-alias gds='git diff --staged'
-alias gdt='git diff-tree --no-commit-id --name-only -r'
-alias gdup='git diff @{upstream}'
-alias gdw='git diff --word-diff'
-alias gdl='git diff HEAD^ HEAD'
-alias gf='git fetch'
-alias gfo='git fetch origin'
-alias gfg='git ls-files | grep'
-alias gg='git gui citool'
-alias gga='git gui citool --amend'
-alias ggpur='ggu'
-alias ggpull='git pull origin "$(git_current_branch)"'
-alias ggpush='git push origin "$(git_current_branch)"'
-alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
-alias gpsup='git push --set-upstream origin $(git_current_branch)'
-alias ghh='git help'
-alias gignore='git update-index --assume-unchanged'
-alias gignored='git ls-files -v | grep "^[[:lower:]]"'
-alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk'
-alias gk='\gitk --all --branches &!'
-alias gke='\gitk --all $(git log --walk-reflogs --pretty=%h) &!'
-alias gl='git pull'
-alias glg='git log --stat'
-alias glgp='git log --stat --patch'
-alias glgg='git log --graph'
-alias glgga='git log --graph --decorate --all'
-alias glgm='git log --graph --max-count=10'
-alias glo='git log --oneline --decorate'
-alias glol="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset'"
-alias glols="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --stat"
-alias glod="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'"
-alias glods="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short"
-alias glola="git log --graph --pretty='%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset' --all"
-alias glog='git log --oneline --decorate --graph'
-alias gloga='git log --oneline --decorate --graph --all'
-alias glp="_git_log_prettily"
-alias gm='git merge'
-alias gmom='git merge origin/$(git_main_branch)'
-alias gmtl='git mergetool --no-prompt'
-alias gmtlvim='git mergetool --no-prompt --tool=vimdiff'
-alias gmum='git merge upstream/$(git_main_branch)'
-alias gma='git merge --abort'
-alias gp='git push'
-alias gpd='git push --dry-run'
-alias gpf!='git push --force'
-alias gpoat='git push origin --all && git push origin --tags'
-alias gpod='git push origin --delete'
-alias gpr='git pull --rebase'
-alias gpu='git push upstream'
-alias gpv='git push --verbose'
-alias gr='git remote'
-alias gra='git remote add'
-alias grb='git rebase'
-alias grba='git rebase --abort'
-alias grbc='git rebase --continue'
-alias grbd='git rebase $(git_develop_branch)'
-alias grbi='git rebase --interactive'
-alias grbm='git rebase $(git_main_branch)'
-alias grbom='git rebase origin/$(git_main_branch)'
-alias grbo='git rebase --onto'
-alias grbs='git rebase --skip'
-alias grev='git revert'
-alias grh='git reset'
-alias grhh='git reset --hard'
-alias groh='git reset origin/$(git_current_branch) --hard'
-alias grm='git rm'
-alias grmc='git rm --cached'
-alias grmv='git remote rename'
-alias grrm='git remote remove'
-alias grs='git restore'
-alias grset='git remote set-url'
-alias grss='git restore --source'
-alias grst='git restore --staged'
-alias grt='cd "$(git rev-parse --show-toplevel || echo .)"'
-alias gru='git reset --'
-alias grup='git remote update'
-alias grv='git remote --verbose'
-alias gsb='git status --short --branch'
-alias gsd='git svn dcommit'
-alias gsh='git show'
-alias gsi='git submodule init'
-alias gsps='git show --pretty=short --show-signature'
-alias gsr='git svn rebase'
-alias gss='git status --short'
-alias gst='git status'
-alias gstaa='git stash apply'
-alias gstc='git stash clear'
-alias gstd='git stash drop'
-alias gstl='git stash list'
-alias gstp='git stash pop'
-alias gsts='git stash show --text'
-alias gstu='gsta --include-untracked'
-alias gstall='git stash --all'
-alias gsu='git submodule update'
-alias gsw='git switch'
-alias gswc='git switch --create'
-alias gswm='git switch $(git_main_branch)'
-alias gswd='git switch $(git_develop_branch)'
-alias gts='git tag --sign'
-alias gtv='git tag | sort -V'
-alias gtl='gtl(){ git tag --sort=-v:refname -n --list "${1}*" }; noglob gtl'
-alias gunignore='git update-index --no-assume-unchanged'
-alias gunwip='git log --max-count=1 | grep -q -c "\--wip--" && git reset HEAD~1'
-alias gup='git pull --rebase'
-alias gupv='git pull --rebase --verbose'
-alias gupa='git pull --rebase --autostash'
-alias gupav='git pull --rebase --autostash --verbose'
-alias gupom='git pull --rebase origin $(git_main_branch)'
-alias gupomi='git pull --rebase=interactive origin $(git_main_branch)'
-alias glum='git pull upstream $(git_main_branch)'
-alias gluc='git pull upstream $(git_current_branch)'
-alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
-alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]"'
-alias gwt='git worktree'
-alias gwta='git worktree add'
-alias gwtls='git worktree list'
-alias gwtmv='git worktree move'
-alias gwtrm='git worktree remove'
-alias gam='git am'
-alias gamc='git am --continue'
-alias gams='git am --skip'
-alias gama='git am --abort'
-alias gamscp='git am --show-current-patch'
diff --git a/config/essentials/zsh/functions.sh b/config/essentials/zsh/functions.sh
deleted file mode 100644
index b285e05..0000000
--- a/config/essentials/zsh/functions.sh
+++ /dev/null
@@ -1,306 +0,0 @@
-#!/bin/sh
-
-log() { >&2 printf '%s' "$@"; }
-logn() { >&2 printf '%s\n' "$@"; }
-
-vmp() {
- col -b | \
- vim -MR \
- -c 'set ft=man nolist nonu nornu'
-}
-nvf() {
- cache="$HOME/.cache/nvf"
- match="$(grep -m1 "$1$" "$cache" 2> /dev/null)"
- if test ! -f "$match"
- then
- logn "resetting cache..."
- match="$(goo f "$HOME" | tee "$cache" | grep -m 1 "$1$" 2> /dev/null)"
- # # Alternative:
- # match="$(goo | grep -m 1 "$1" 2> /dev/null | tee -a | "$cache")"
- fi
- if test -f "$match"
- then
- $EDITOR "$match" && return
- else
- logn "no match." && return 1
- fi
-}
-
-nnn() { test -z "$NNNLVL" && /usr/bin/nnn "$@" || exit; }
-ranger() { test -z "$RANGER_LEVEL" && /usr/bin/ranger "$@" || exit; }
-
-# googoo aliases
-_googoo_fzf_opt()
-{
- unset dest opt
- if [ "$1" ]
- then
- [ -d "$1" ] && dest="$1" || opt="-q $1"
- fi
-}
-o()
-{
- _googoo_fzf_opt "$1"
- f="$(goo f "$dest" | fzf $opt)"
- test "$1" && shift
- test -f "$f" && $EDITOR $@ "$f"
-}
-go()
-{
- _googoo_fzf_opt "$1"
- cd "$(goo d "$dest" | fzf $opt)"
-}
-ogo()
-{
- _googoo_fzf_opt "$1"
- cd "$(dirname "$(goo f "$dest" | fzf $opt)")"
-}
-
-# Onelineres
-awnk() { awk "{print \$$1}"; }
-vimh() { vi -c "help $1" -c 'call feedkeys("\<c-w>o")'; }
-dgo() { cd "$(goo d ~ | fzf --filter "$@" | head -n 1)"; }
-open() { $EDITOR "$(goo f ~ | fzf --filter "$@" | head -n 1)"; }
-pkbs() { doas pacman -Sy "$(pkgfile -b "$1" | tee /dev/stderr)"; }
-oclip() { printf "\033]52;c;$(printf '%s' "$@" | base64)\a"; }
-sms() { ssh -t phone sendmsg "$1" "'$2'"; }
-trcp() { scp "$1" db:/media/basilisk/downloads/transmission/torrents/; }
-rln() { ln -s "$(readlink -f "$1")" "$2"; }
-getgit() { git clone git@db:"$1"; }
-
-ipc()
-{
- if [ "$(ip link show eno1 | awk -F, 'NR=1 {print $3}')" = "UP" ]
- then
- doas ip link set eno1 down
- else
- doas ip link set eno1 up
- fi
-}
-
-psgrep()
-{
- [ $# -eq 0 ] && return 1
- pgrep "$@" | xargs ps
-}
-
-unique() {
- f="$(mktemp)"
- awk '!x[$0]++' "$1" > "$f"
- mv "$f" "$1"
-}
-
-clip() {
- if [ "$WAYLAND_DISPLAY" ]
- then
- echo -n "$@" | wl-copy
- else
- echo -n "$@" | xclip -selection clipboard -rmlastnl
- fi
-}
-
-unzipp() {
- unzip -- "$(readlink -f -- "$1")" || return 1
- rm -- "$1"
-}
-
-# fix long waiting time
-__git_files() {
- _wanted files expl 'local files' _files
-}
-
-esc() {
- $EDITOR "$(which $1)"
-}
-
-delfile() {
- curl "${2:-https://upfast.cronyakatsuki.xyz/delete/$1}"
-}
-upfile() {
- curl -F "file=@\"$1\"" ${2:-https://0x0.st}
-}
-
-# git
-sgd() {
- d="$PWD"
- find $HOME/src -maxdepth 1 -mindepth 1 -type d |
- while read -r dir
- do
- cd "$dir"
- git status > /dev/null 2>&1 || continue
- git fetch > /dev/null 2>&1
- printf "$PWD"
- test "$(git status --short 2>/dev/null | grep -v "??" | head -1)" &&
- printf " \e[1;31m*changes\e[0m" | sed "s#$HOME#~#" >&2
- test "$(parse_git_remote)" &&
- printf " \e[0;32m*push/pull\e[0m" | sed "s#$HOME#~#" >&2
- printf "\n"
- done
- cd "$d"
- unset d
-}
-
-ginit()
-{
- [ "$1" ] || return 1
- ssh db /var/git/initdir.sh "$1"
- git remote add origin git@db:"$1.git"
- git push --set-upstream origin $(git_current_branch)
-}
-
-# Returns current branch
-git_current_branch()
-{
- command git rev-parse --git-dir > /dev/null 2>&1 || return
- git branch --show-current
-}
-
-# Check if main exists and use instead of master
-git_main_branch()
-{
- command git rev-parse --git-dir > /dev/null 2>&1 || return
- for ref in refs/{heads,remotes/{origin,upstream}}/{main,trunk,mainline,default}
- do
- if command git show-ref -q --verify $ref; then
- echo ${ref:t}
- return
- fi
- done
- echo master
-}
-
-# Check for develop and similarly named branches
-function git_develop_branch() {
- command git rev-parse --git-dir > /dev/null 2>&1 || return
- for branch in dev devel development
- do
- if command git show-ref -q --verify refs/heads/$branch
- then
- echo $branch
- return
- fi
- done
- echo develop
-}
-
-# gpg backup
-gpg_backup()
-{
- # $1: option
- # $2: output file (without .asc)
- gpg_command() {gpg "$1" --armor > "$2".asc ; }
- gpg_command --export-secret-keys "private"
- gpg_command --export "public"
- gpg_command --export-ownertrust "trust"
- tar -czvf gpg_backup.tar.gz public.asc private.asc trust.asc
- shred -uz public.asc private.asc trust.asc
-}
-
-gpg_import()
-{
- tar xf $1
- shred -uz $1
- gpg --import public.asc
- gpg --import-ownertrust trust.asc
- gpg --import private.asc
- shred -uz public.asc private.asc trust.asc
-}
-
-ngenable()
-{
- ln -sf /etc/nginx/sites-available/$1 /etc/nginx/sites-enabled/
-}
-
-vbsr()
-{
- vboxmanage snapshot "$1" restore "$2" &&
- vboxmanage startvm "$1" ||
- vboxmanage controlvm "$1" poweroff
-}
-vbsrr()
-{
- vbsr "$1" "$2"
- sleep 3
- vbsr "$1" "$2"
-}
-vbst()
-{
- vboxmanage snapshot "$1" take "$2"
-}
-
-pacsize()
-{
- if test -n "$1"; then
- packages="$@"
- elif test ! -t 0; then
- packages="$(cat)"
- else
- echo "No data provided..."
- return 1
- fi
- echo $packages |
- expac '%m %n' - |
- numfmt --to=iec-i --suffix=B --format="%.2f"
-}
-
-mime-default ()
-{
- [ "${mime:=$1}" ] ||
- mime="$(find /usr/share/applications/ -iname '*.desktop' -printf '%f\n' |
- sed 's/\.desktop$//' |
- fzf)"
-
- logn "Setting '$mime' as default for its mimetypes"
- [ "$mime" ] || exit 1
- grep "MimeType=" /usr/share/applications/"$mime".desktop |
- cut -d '=' -f 2- | tr ';' '\0' |
- xargs -0I{} xdg-mime default "$mime".desktop "{}"
- logn "Done."
-}
-
-addedkeys() {
- find ~/.ssh -iname "*.pub" | while read key
- do
- fingerprint="$(ssh-keygen -lf "$key" 2>/dev/null)"
- if ssh-add -l | grep -q "$fingerprint"
- then
- echo "$key"
- fi
- done | sed "s,$HOME/.ssh/,,"
-}
-
-fpass() {
- find $HOME/.password-store -type f -not -path ".git" |
- grep "\.gpg$" |
- sed "s,$HOME/.password-store/,,;s,\.gpg$,," |
- fzf |
- xargs pass show -c
-}
-
-muttmail()
-{
- config="$HOME/.config/mutt"
- mail="$(find "$config"/configs -type f -printf '%f\n' | fzf)"
- [ "$mail" ] || return 1
- ln -sf "$config/configs/$mail" "$config"/muttrc
- mutt
-}
-
-resize()
-{
- test $# -lt 2 &&
- printf "usage: %s <format> <file> [out]\n" "$0" >&2 &&
- return 1
- convert -resize $1^ -gravity center -crop $1+0+0 -- "$2" "${3:-$1}"
-}
-
-edit_in_dir() {
- file="$1/$(goo f "$1" | sed "s@^$1@@" | fzf)"
- [ -f "$file" ] || return 1
- $EDITOR "$file"
-}
-
-to_webm()
-{
- ffmpeg -y -i "$1" -vcodec libvpx -cpu-used -12 -deadline realtime "${1%.*}".webm
-}