diff options
| author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-08-02 15:19:25 +0200 | 
|---|---|---|
| committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-08-02 15:19:25 +0200 | 
| commit | 9b791ac8786eed2d242d0909dd2379f008952042 (patch) | |
| tree | 403c08eb322e18d045606822911a7eb6036f0070 /config/essentials/zsh | |
| parent | e614a330978ce7e7f6d130cc7d199150e16a409d (diff) | |
| parent | 63c64f071ecd45cf66ab49d199a634cd8db27056 (diff) | |
Merge branch 'main' of db:dotfiles
Diffstat (limited to 'config/essentials/zsh')
| -rw-r--r-- | config/essentials/zsh/.zshrc | 36 | ||||
| -rw-r--r-- | config/essentials/zsh/aliases.sh (renamed from config/essentials/zsh/aliases.zsh) | 140 | ||||
| -rw-r--r-- | config/essentials/zsh/functions.zsh | 29 | 
3 files changed, 118 insertions, 87 deletions
diff --git a/config/essentials/zsh/.zshrc b/config/essentials/zsh/.zshrc index 83da0f6..d8675d4 100644 --- a/config/essentials/zsh/.zshrc +++ b/config/essentials/zsh/.zshrc @@ -3,12 +3,9 @@  if [[ "/dev/tty1" = "$TTY" || "/dev/tty2" = "$TTY" ]] && [[ "$(id -u)" -ne 0 ]]  then  	clear -	eval "$(keychain --dir "$XDG_CONFIG_HOME/keychain" --eval --quiet --agents gpg 3A626DD20A32EB2E5DD9CE71CFD9ABC97158CD5D 2> /dev/null)" -	eval "$(keychain --dir "$XDG_CONFIG_HOME/keychain" --noask --eval --quiet --agents ssh 2> /dev/null)" -	clear  	if [ "/dev/tty1" = "$TTY" ]  	then -		Hyprland > /dev/null 2>&1 +		startw > /dev/null 2>&1  	else  		startx > /dev/null 2>&1  	fi @@ -28,7 +25,7 @@ zle -N add-surround surround  zle -N change-surround surround  compinit -if grep -qi "debian\|ubuntu" /etc/os-release 2>/dev/null +if grep -qi "debian\|ubuntu" /usr/lib/os-release /etc/os-release 2>/dev/null  then      sfiles=(          /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh @@ -41,7 +38,7 @@ else  fi  sfiles+=(  		~/.config/zsh/functions.zsh -		~/.config/zsh/aliases.zsh +		~/.config/zsh/aliases.sh  )  for f in "${sfiles[@]}"; do      test -f "$f" && source "$f" @@ -67,17 +64,14 @@ bindkey "^['" quote-line  isTextFile()  { -	if [ ! -f "$1" ] -	then +	[ -f "$1" ] && +		# will execute the file, I'd rather not have an error message +		[ ${1::2} != "./" ] && +		[ ${1::1} != "/" ] && +		! type "$1" > /dev/null && +		# is text file? +		file -b --mime-type "$1" | grep -q "^text/" ||  		return 1 -	fi - -	file_type=$(file -b --mime-type "$1") -	if [[ "$file_type" == text/* ]] -	then -		return -	fi -	return 1  }  # rehash hook @@ -113,17 +107,13 @@ function osc7 {  }  add-zsh-hook -Uz chpwd osc7  command_not_found_handler () { -	isTextFile "$1" ||  -		echo "zsh: command not found: $1" >&2 -} -# open file with file name -open_file() { -	if [ ${1:0:2} != "./" ] && isTextFile "$1" +	if [[ -o interactive ]] && isTextFile "$1"  	then  		"$EDITOR" "$1" +	else +		echo "zsh: command not found: $1" >&2  	fi  } -add-zsh-hook -Uz preexec open_file  # prompt  PS1=' %B%(#.%F{1}.%F{13})[%n%b%f@%B%F{6}%m]%b%f %3~ ' diff --git a/config/essentials/zsh/aliases.zsh b/config/essentials/zsh/aliases.sh index 09215b2..0c7c1ac 100644 --- a/config/essentials/zsh/aliases.zsh +++ b/config/essentials/zsh/aliases.sh @@ -1,28 +1,48 @@  #!/bin/zsh  # s/alias \([^-]\)/alias -g \1 -if grep -qi "debian\|ubuntu" /etc/os-release 2> /dev/null +# Zsh specific aliases +if [ $SHELL = "/bin/zsh" ]  then -	alias aptup='apt update && apt upgrade -y' -fi +	# googoo aliases +	alias o.='o .' +	alias go.='go .' +	alias ogo.='ogo .' +	alias o/='o /' +	alias o/s='o /srv' +	alias go/='go /' +	alias go/s='go /srv' +	alias ogo/='ogo /' +	alias ogo/s='ogo /srv' -if [ "$WAYLAND_DISPLAY" ] -then -	alias -g clipp='wl-copy -n' -	alias -g clipo='wl-paste -n' -else -	if which devour > /dev/null 2>&1   +	if [ "$WAYLAND_DISPLAY" ]  	then -		alias mpv='devour mpv' -		alias zathura='devour zathura' +		alias -g clipp='wl-copy -n' +		alias -g clipo='wl-paste -n' +	else +		if which devour > /dev/null 2>&1   +		then +			alias mpv='devour mpv' +			alias zathura='devour zathura' +		fi +		alias -g clipp='xclip -selection clipboard -r' +		alias -g clipo='xclip -o -selection clipboard -r'  	fi -	alias -g clipp='xclip -selection clipboard -r' -	alias -g clipo='xclip -o -selection clipboard -r' +	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'  fi -alias clipic='clipo > /tmp/pic.png'  # Programs -alias vi='nvim'  alias nb='newsboat'  alias sr='surfraw'  alias ccu='calcurse' @@ -72,6 +92,8 @@ 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' @@ -84,6 +106,12 @@ 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 @@ -107,7 +135,8 @@ alias fif='find . -type "f" | grep'  alias fid='find . -type "d" | grep'  alias sxt='sxiv -t'  alias wgsh='wget --quiet --show-progress' -alias ss4='ss -tln4p | cut -f1 -d,' +alias wgc='wgsh "$(clipo)"' +alias ss4='ss -tln4p'  alias mdbw='mariadb -h 0.0.0.0 -u padmin -pbulbizarre padmindb'  alias mdbwa='mariadb -h 10.3.50.5 -u padmin -pbulbizarre padmindb' @@ -124,11 +153,6 @@ 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 muttmail='echo -n "email set: " >&2 -ls $HOME/.config/mutt/configs | -fzf | -tee /dev/stderr | -xargs -I {} ln -sf "$HOME/.config/mutt/configs/{}" $HOME/.config/mutt/muttrc'  alias fusephone='sshfs myphone: /media/phone'  alias ttyper='ttyper -l english1000 -w 100' @@ -143,17 +167,12 @@ alias penv='python3 -m venv env'  alias phttp='python3 -m http.server'  alias pipreq='pip install -r requirements.txt' -alias -g '...'='../..' -alias -g '....'='../../..' -alias -g bg='&; disown' -alias cx='chmod +x'  alias ch='chown ${USER}:${USER} -R' -alias -g hl='--help |& less -r'  alias kll='killall'  alias pi='ping archlinux.org -c4'  alias sba='source env/bin/activate || source bin/activate'  alias smc='systemctl' -alias ssc='doas smc' +alias ssc='doas systemctl'  alias smcu='smc --user'  alias zsr='source ${ZDOTDIR:-$HOME}/.zshrc && rehash'  alias rh='rehash' @@ -162,6 +181,7 @@ 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_%H%M%S" +alias tpid='tail -f /dev/null --pid'  alias vbm='vboxmanage'  alias vbls='vbm list vms' @@ -170,59 +190,55 @@ alias vb='vbm startvm'  # quick config  alias ez='$EDITOR ${ZDOTDIR:-$HOME}/.zshrc' -alias eza='$EDITOR ${ZDOTDIR}/aliases.zsh' +alias eza='$EDITOR ${ZDOTDIR}/aliases.sh'  alias ezf='$EDITOR ${ZDOTDIR}/functions.zsh'  alias eto='$EDITOR ~/sync/TODO' -alias edw='$EDITOR ~/src/dwm/config.def.h' -alias edm='$EDITOR ~/src/dmenu/config.def.h' +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 ~/src/st/config.def.h' -alias esl='$EDITOR ~/src/slock/config.def.h' -alias esls='$EDITOR ~/src/slstatus/config.def.h' +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 cfd='$EDITOR config.def.h' -# quick cd +# /# quick cd
jV}k:!sort -t "'" -k 2
 +alias cdl='cd $HOME/dl' +alias cdoc='cd $HOME/docs'  alias cda='cd $HOME/docs/android/projects' +alias cdm='cd $HOME/music' +alias cdp='cd $HOME/pics' +alias cdpa='cd $HOME/pics/ai-outputs/' +alias cdpp='cd $HOME/proj/personal/' +alias chom='cd $HOME/proj/personal/homepage' +alias lov='cd $HOME/proj/personal/lola' +alias cdsw='cd $HOME/proj/personal/WheelAdvisor' +alias cddm='cd $HOME/proj/suckless/dmenu' +alias cdw='cd $HOME/proj/suckless/dwm' +alias cdslo='cd $HOME/proj/suckless/slock' +alias cdsl='cd $HOME/proj/suckless/slstatus' +alias cdst='cd $HOME/proj/suckless/st' +alias cdsta='cd $HOME/proj/suckless/stable-diffusion-webui' +alias cdsu='cd $HOME/proj/suckless/surf'  alias cds='cd $HOME/src/' -alias cdsw='cd $HOME/src/WheelAdvisor' -alias cdw='cd $HOME/src/dwm' -alias cddm='cd $HOME/src/dmenu' -alias cdslo='cd $HOME/src/slock' -alias cdsl='cd $HOME/src/slstatus' -alias cdst='cd $HOME/src/st' -alias cdsta='cd $HOME/src/stable-diffusion-webui' -alias cdl='cd $HOME/dl' +alias cdsb='cd $HOME/src/build' +alias cdsc='cd $HOME/src/comfyui/'  alias cdo='cd $HOME/src/dotfiles' -alias cdoc='cd $HOME/docs'  alias cdi='cd $HOME/src/installdrier'  alias cdia='cd $HOME/src/installdrier/arch'  alias cdib='cd $HOME/src/installdrier/deb' -alias cdm='cd $HOME/music' -alias cdd='cd $HOME/dl' -alias cdp='cd $HOME/pics' -alias cdrs='cd /srv/' -alias cdng='cd /etc/nginx'  alias czo='cd $HOME/zot/' +alias cdpw='cd ${PASSWORD_STORE_DIR:-$HOME/.password-store}' +alias cdng='cd /etc/nginx' +alias cdrs='cd /srv/' -# googoo aliases -alias o.='o .' -alias go.='go .' -alias ogo.='ogo .' -alias o/='o /' -alias o/s='o /srv' -alias go/='go /' -alias go/s='go /srv' -alias ogo/='ogo /' -alias ogo/s='ogo /srv' - +# fzf aliases  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" +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:=$HOME/src/password-store/} -name "*.gpg" | sed -e "s@$PASSWORD_STORE_DIR/@@" -e '\''s/\.gpg$//'\'' | fzf | xargs pass show -c' - -alias -s zip='unzip -l' -alias -s tar='tar tf' +alias fzps='fzf --print0 | xargs -0I{}'  alias dcb='docker build'  alias dcbt='docker build -t' diff --git a/config/essentials/zsh/functions.zsh b/config/essentials/zsh/functions.zsh index 487c247..671e6fb 100644 --- a/config/essentials/zsh/functions.zsh +++ b/config/essentials/zsh/functions.zsh @@ -2,7 +2,7 @@  die ()  { -	echo "$1" >&2 +	echo "$@" >&2  }  awnk() { @@ -72,7 +72,8 @@ ipc ()  calc () { echo "$@" | bc -l }  unique () { -	f="/tmp/$(uuidgen)" +	local f +	f="$(mktemp)"  	awk '!x[$0]++' "$1" > "$f"  	mv "$f" "$1"  } @@ -261,3 +262,27 @@ sms ()  {  	ssh phone sendmsg "$1" "'$2'"  } + +trcp () +{ +	scp "$1" db:/media/basilisk/downloads/transmission/torrents/ +} + +muttmail () +{ +	die -n "email set: " +	ls $HOME/.config/mutt/configs | +		fzf | +		tee /dev/stderr | +		xargs -I {} ln -sf "$HOME/.config/mutt/configs/{}" $HOME/.config/mutt/muttrc +	die -n 'Press [Enter to login]' +	read && 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}" +}  | 
