diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-08-22 23:08:50 +0200 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-08-22 23:08:50 +0200 |
commit | 067b271a243dafcf652fe7cfe85e723d25ff1a64 (patch) | |
tree | c546402b2c40ca1e0739d1cc404f1d04d1d45067 /config/essentials/zsh | |
parent | 67a2df82d25f52ea0937f4eed355546deae7b4b5 (diff) | |
parent | 9172676556847ff625cbf4b4eff19f441e0b9386 (diff) |
Merge branch 'main' of /var/git/dotfiles
Diffstat (limited to 'config/essentials/zsh')
-rw-r--r-- | config/essentials/zsh/.zshrc | 6 | ||||
-rw-r--r-- | config/essentials/zsh/aliases.sh | 15 | ||||
-rw-r--r-- | config/essentials/zsh/functions.zsh | 94 |
3 files changed, 61 insertions, 54 deletions
diff --git a/config/essentials/zsh/.zshrc b/config/essentials/zsh/.zshrc index 0665533..769c805 100644 --- a/config/essentials/zsh/.zshrc +++ b/config/essentials/zsh/.zshrc @@ -121,13 +121,13 @@ RPROMPT='%F{blue}$(parse_git_remote)%f%F{red}$(parse_git_status)%f%F{green}$(par setopt prompt_subst parse_git_remote() { - b="$(git branch -v 2> /dev/null | grep "^*" | sed 's/.\+\[\([^ ]\+\).*$/\1/')" + b="$(git branch -v 2>/dev/null | grep "^*" | cut -f2 -d'[' | cut -f1 -d' ')" if [ "$b" = "behind" ] then - echo -n "↓ " + printf "↓ " elif [ "$b" = "ahead" ] then - echo -n "↑ " + printf "↑ " fi } parse_git_branch() { diff --git a/config/essentials/zsh/aliases.sh b/config/essentials/zsh/aliases.sh index 461546a..28aef75 100644 --- a/config/essentials/zsh/aliases.sh +++ b/config/essentials/zsh/aliases.sh @@ -5,9 +5,6 @@ if [ $SHELL = "/bin/zsh" ] then # googoo aliases - alias o.='o .' - alias go.='go .' - alias ogo.='ogo .' alias o/='o /' alias o/s='o /srv' alias go/='go /' @@ -15,6 +12,8 @@ then alias ogo/='ogo /' alias ogo/s='ogo /srv' + alias calc='bc <<<' + if [ "$WAYLAND_DISPLAY" ] then alias -g clipp='wl-copy -n' @@ -131,10 +130,6 @@ 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 floc='doas find / -type "f" 2> /dev/null | grep' -alias dloc='doas find / -type "d" 2> /dev/null | grep' -alias fif='find . -type "f" | grep' -alias fid='find . -type "d" | grep' alias sxt='sxiv -t' alias wgsh='wget --quiet --show-progress' alias wgc='wgsh "$(clipo)"' @@ -145,7 +140,6 @@ alias mdbwa='mariadb -h 10.3.50.5 -u padmin -pbulbizarre padmindb' # 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' @@ -184,6 +178,7 @@ 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 vbm='vboxmanage' alias vbls='vbm list vms' @@ -216,6 +211,7 @@ 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' @@ -237,6 +233,8 @@ alias cdng='cd /etc/nginx' alias cdrs='cd /srv/' # fzf aliases +alias ppj='cd ~/proj/personal/"$(find ~/proj/personal -mindepth 1 -maxdepth 1 -type d -printf "%f\n"| fzf)"' +alias cfg='find -L ~/src/dotfiles -type f | fzf | xargs -r $EDITOR' alias fzps='ps aux | tail +2 | fzf | tee /dev/stderr | awk '\''{print $2}'\'' | clipp' alias asf='alias | fzf' alias fzh="tac $HISTFILE | fzf | tee /dev/stderr | clipp" @@ -257,7 +255,6 @@ alias dbinf='ssh db dlinfo' alias sshdb='ssh -t db tmux a' alias dbsmu='rsync -aPz db:/media/basilisk/music/ /media/kilimanjaro/music' -alias cfg='git --git-dir=~/src/dotfiles/.git --work-tree=~/src/dotfiles' # oh-my-zsh git aliases alias g='git' alias ga='git add' diff --git a/config/essentials/zsh/functions.zsh b/config/essentials/zsh/functions.zsh index 3c5f11f..eb776f0 100644 --- a/config/essentials/zsh/functions.zsh +++ b/config/essentials/zsh/functions.zsh @@ -1,9 +1,7 @@ #!/bin/zsh -die () -{ - echo "$@" >&2 -} +log() { >&2 printf '%s' "$@"; } +logn() { >&2 printf '%s\n' "$@"; } awnk() { awk "{print \$$1}" @@ -39,34 +37,40 @@ nnn() { test -z "$NNNLVL" && /usr/bin/nnn "$@" || exit } ranger() { test -z "$RANGER_LEVEL" && /usr/bin/ranger "$@" || exit } # googoo aliases -_googoo_fzf_opt () +_googoo_fzf_opt() { if [ "$1" ] then [ -d "$1" ] && dest="$1" || opt="-q $1" fi } -o () +o() { _googoo_fzf_opt "$1" - f="$(goo f "dest" | fzf $opt)" + f="$(goo f "$dest" | fzf $opt)" test "$1" && shift test -f "$f" && $EDITOR $@ "$f" } -go () +go() { _googoo_fzf_opt "$1" - d="$(goo d "$dest" | fzf $opt)" - test -d "$d" && cd "$d" + cd "$(goo d "$dest" | fzf $opt)" } -ogo () +ogo() { _googoo_fzf_opt "$1" - d="$(dirname "$(goo f "$dest")" | fzf $opt)" - test -d "$d" && cd "$d" + cd "$(dirname "$(goo f "$dest")" | fzf $opt)" +} +dgo() +{ + cd "$(goo d | fzf --filter "$@" | head -n 1)" +} +open() +{ + $EDITOR "$(goo f | fzf --filter "$@" | head -n 1)" } -ipc () +ipc() { if [[ "$(ip link show eno1 | awk -F, 'NR=1 {print $3}')" == "UP" ]] then @@ -76,22 +80,20 @@ ipc () fi } -calc () { echo "$@" | bc -l | numfmt --grouping; } - -psgrep () +psgrep() { [ $# -eq 0 ] && return 1 pgrep "$@" | xargs ps } -unique () { +unique() { local f f="$(mktemp)" awk '!x[$0]++' "$1" > "$f" mv "$f" "$1" } -clip () { +clip() { if [ "$WAYLAND_DISPLAY" ] then echo -n "$@" | wl-copy @@ -100,7 +102,7 @@ clip () { fi } -unzipp () { +unzipp() { file=$1 shift unzip $file $@ || exit 1 @@ -108,18 +110,18 @@ unzipp () { } # fix long waiting time -__git_files () { +__git_files() { _wanted files expl 'local files' _files } -esc () { +esc() { $EDITOR "$(which $1)" } -delfile () { +delfile() { curl "${2:-https://upfast.cronyakatsuki.xyz/delete/$1}" } -upfile () { +upfile() { curl -F "file=@\"$1\"" ${2:-https://upfast.cronyakatsuki.xyz} } @@ -142,16 +144,24 @@ sgd () { unset d } -# Git functions +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 -function git_current_branch() +git_current_branch() { command git rev-parse --git-dir &>/dev/null || return git branch --show-current } # Check if main exists and use instead of master -function git_main_branch() { +git_main_branch() +{ command git rev-parse --git-dir &>/dev/null || return local ref for ref in refs/{heads,remotes/{origin,upstream}}/{main,trunk,mainline,default}; do @@ -177,7 +187,7 @@ function git_develop_branch() { } # gpg backup -gpg_backup () +gpg_backup() { gpg --export-secret-keys --armor > private.asc gpg --export --armor > public.asc @@ -186,7 +196,7 @@ gpg_backup () shred -uz {public,private,trust}.asc } -gpg_import () +gpg_import() { tar xf $1 shred -uz $1 @@ -196,29 +206,29 @@ gpg_import () shred -uz {public,private,trust}.asc } -ngenable () +ngenable() { ln -sf /etc/nginx/sites-available/$1 /etc/nginx/sites-enabled/ } -vbsr () +vbsr() { vboxmanage snapshot "$1" restore "$2" && vboxmanage startvm "$1" || vboxmanage controlvm "$1" poweroff } -vbsrr () +vbsrr() { vbsr "$1" "$2" sleep 3 vbsr "$1" "$2" } -vbst () +vbst() { vboxmanage snapshot "$1" take "$2" } -pacsize () +pacsize() { if test -n "$1"; then packages="$@" @@ -232,7 +242,7 @@ pacsize () expac '%m %n' - | numfmt --to=iec-i --suffix=B --format="%.2f" } -pkbs () +pkbs() { pkgfile -b "$1" | tee /dev/stderr | doas pacman -S - } @@ -247,7 +257,7 @@ mime-default () die "Done." } -addedkeys () { +addedkeys() { find ~/.ssh -iname "*.pub" | while read key do local fingerprint="$(ssh-keygen -lf "$key" 2>/dev/null)" @@ -258,7 +268,7 @@ addedkeys () { done | sed "s,$HOME/.ssh/,," } -fpass () { +fpass() { find $HOME/.password-store -type f -not -path ".git" | grep "\.gpg$" | sed "s,$HOME/.password-store/,,;s,\.gpg$,," | @@ -266,22 +276,22 @@ fpass () { xargs pass show -c } -oclip () +oclip() { printf "\033]52;c;$(echo -n "$@" | base64)\a" } -sms () +sms() { ssh phone sendmsg "$1" "'$2'" } -trcp () +trcp() { scp "$1" db:/media/basilisk/downloads/transmission/torrents/ } -muttmail () +muttmail() { die -n "email set: " ls $HOME/.config/mutt/configs | @@ -292,7 +302,7 @@ muttmail () read && mutt } -resize () +resize() { test $# -lt 2 && printf "usage: %s <format> <file> [out]\n" "$0" >&2 && |