zsh/aliases/void
2024-07-27 00:56:58 +02:00

102 lines
1.6 KiB
Bash

#!/bin/zsh
grep -q "void" /etc/os-release || return
hashafter xi
hashafter xbps-remove
xq() {
xbps-query -Rs "$@" | grep -v -- '-32bit'
}
xqn() {
if [[ -z $1 || -n $2 ]]; then
<<-HERE
Usage: xqn NAME
Search for NAME only in package names
HERE
else
xbps-query -Rs $1 | awk "\$2 ~ /$1/ { print }"
fi
}
alias xfiles="xbps-query -f"
xbps-install() {
local logfile=$(mktemp)
sudo script --return --quiet -c "/usr/bin/xbps-install $*" $logfile
local ret=$?
grep -oP ".*(?=: post-install message)" < $logfile \
| ifne xargs -L 1 xbps-query -p install-msg
hash -r
return $ret
}
xupdate() {
if [[ -z "$@" ]]; then
xbps-install -Su
if [[ $? == 16 ]]; then
xbps-install -Syu xbps
xupdate
fi
else
xbps-install -SA "$@"
xcheckupdates
fi
}
xowner() {
xbps-query -Ro "*${1}*"
}
sv() {
command sv "$@"
ret=$?
if [[ "$1" == "up" ]]; then
shift
sleep 0.5
command sv check "$@"
fi
return $ret
}
sv-manage() {
local action service svdir
zparseopts -D -E d:=dir -dir:=dir
svdir=${dir[2]:-${SVDIR:-/var/service}}
if [[ -z $1 ]]; then
action=list
else
action=$1
shift
fi
case "$action" in
add)
for service in "$@"; do
ln -s ${SVDIR_TEMPLATES:-/etc/sv}/${service:s#/##} ${svdir}
done
;;
remove|rm)
for service in "$@"; do
rm ${svdir}/${service:s#/##}
done
;;
list|ls)
sv status ${svdir}/* | sed "
s@${svdir}/@@
s@run@\x1b[1;92mrun\x1b[0m@g
s@down@\x1b[1;31mdown\x1b[0m@g
" | column -t
;;
status)
for service in ${SVDIR:-/var/service}/*/supervise; do
sv status ${service:h}
done
;;
esac
}
# renamed package binaries
alias ts=moreutils_ts