dotfiles/zsh/.config/zsh/functions.zsh

37 lines
844 B
Bash

doasedit() {
(( ${+commands[doas]} )) || return 1
doas -L
doas -u root sh -c \
"cp /etc/doas.conf /tmp/doas.conf \
&& $EDITOR /tmp/doas.conf \
&& doas -C /tmp/doas.conf \
&& mv /tmp/doas.conf /etc/doas.conf \
&& echo 'ok' \
|| echo >&2 'error'"
local STATUS=$?
doas -L
[[ $STATUS -eq 0 ]] || return 1
}
get_ip() {
(( ${+commands[jq]} )) && local JQ="| jq"
local IP=""
local ARGS=""
while [[ $# -gt 0 ]]; do
[[ $1 == --ip ]] && IP="?ip=$2" && shift || ARGS="$ARGS $1"
shift
done
eval "curl $ARGS -fsSL 'https://ifconfig.co/json$IP' $JQ"
}
http() {
(( ${+commands[python]} )) || return 1
[[ $# -gt 0 ]] && local DIR="--directory $1"
eval "python -m http.server 8080 --bind 127.0.0.1 $DIR"
}