82 lines
1.8 KiB
Bash
82 lines
1.8 KiB
Bash
#!/usr/bin/env zsh
|
|
|
|
alias startx='ssh-agent startx; vlock'
|
|
|
|
alias l='ls'
|
|
alias la='ls -A'
|
|
alias ll='ls -l'
|
|
|
|
alias units='units --verbose'
|
|
alias trr='transmission-remote'
|
|
alias g='git'
|
|
alias rg='rg -S'
|
|
|
|
alias timestamp='date "+%Y-%m-%d_%H-%M-%S"'
|
|
alias humantime='date "+%Y-%m-%d %H:%M %z"'
|
|
|
|
screenshot() {
|
|
local ts="$(timestamp)"
|
|
local f="${HOME}/images/screenshots/${ts}.png"
|
|
import "$@" "$f"
|
|
echo "$f" >&2
|
|
echo "$f"
|
|
}
|
|
|
|
docker-ip() {
|
|
docker inspect "$1" --format='{{.NetworkSettings.Networks.bridge.IPAddress}}'
|
|
}
|
|
|
|
alias shrug='echo -n "¯\\_(ツ)_/¯"'
|
|
|
|
alias today='nvim $HOME/notes/$(date "+%F").md'
|
|
|
|
fe() {
|
|
local files
|
|
IFS=$'\n' files=($(fd --type=f --hidden | fzf --query="$1" --multi --select-1 --exit-0))
|
|
if [[ -n "${files}" ]]; then
|
|
print -s "${EDITOR:-vim}" "${files[@]}"
|
|
${EDITOR:-vim} "${files[@]}"
|
|
fi
|
|
}
|
|
|
|
alias t='task'
|
|
|
|
alias hub-draft-pr="hub pull-request --draft --push"
|
|
|
|
qrencode() {
|
|
if [ "$#" -gt 0 ]; then
|
|
printf "$*" | curl -F=\<- qrenco.de
|
|
else
|
|
curl -F=\<- qrenco.de
|
|
fi
|
|
}
|
|
|
|
wttr() {
|
|
local request="wttr.in/$1"
|
|
# Narrow output for narrow terminals
|
|
[ "$(tput cols)" -lt 125 ] && request+='?n'
|
|
curl -H "Accept-Language: ${LANG%_*}" --compressed "$request"
|
|
}
|
|
|
|
wttr2() {
|
|
local request="v2.wttr.in/$1"
|
|
# Narrow output for narrow terminals
|
|
[ "$(tput cols)" -lt 125 ] && request+='?n'
|
|
curl -H "Accept-Language: ${LANG%_*}" --compressed "$request"
|
|
}
|
|
|
|
mov2gif() {
|
|
local infile="$1"
|
|
local outfile=''
|
|
if [ "$#" -gt 1 ]; then
|
|
outfile="$2"
|
|
else
|
|
outfile="${1%.mov}.gif"
|
|
fi
|
|
ffmpeg -i "${infile}" -vf scale=800:-1 -r 10 -f image2pipe -vcodec ppm - | convert -delay 5 -layers Optimize -loop 0 - "${outfile}"
|
|
echo "${outfile}"
|
|
}
|
|
|
|
relpath() {
|
|
realpath --relative-to=. "$1"
|
|
}
|