diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-12-12 17:21:11 +0100 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-12-12 17:21:11 +0100 |
commit | f09fce4ff51ff3e26a4d77b23ca34950c9162fc0 (patch) | |
tree | ec18b3c02cab7f17574d1168f7a40693ae610cc6 /config/essentials/zsh | |
parent | ffc2a7d3cee6385508601374bdd34db253b70c65 (diff) |
use seperate shell folder that works cross shells
Diffstat (limited to 'config/essentials/zsh')
-rw-r--r-- | config/essentials/zsh/.zshrc | 4 | ||||
-rw-r--r-- | config/essentials/zsh/aliases.sh | 500 | ||||
-rw-r--r-- | config/essentials/zsh/functions.sh | 306 |
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 -} |