104 lines
2.6 KiB
Bash
104 lines
2.6 KiB
Bash
am() {
|
|
local name dev lsblk
|
|
|
|
while true; do
|
|
mapfile -t lsblk < <(lsblk -n --paths --list | grep part)
|
|
|
|
COLUMNS=1
|
|
select dev in "${lsblk[@]}"; do
|
|
if [ -z "$dev" ]; then
|
|
break
|
|
fi
|
|
name="$(awk '{print $1}' <<< "$dev")"
|
|
|
|
if mount | grep -q "$name"; then
|
|
umount "$name"
|
|
else
|
|
cd -- "$(udisksctl mount -b "$name" | awk '{print $NF}')"
|
|
return
|
|
fi
|
|
break
|
|
done || return
|
|
done
|
|
}
|
|
|
|
bat() {
|
|
if [ -z "$1" ]; then
|
|
return 1
|
|
fi
|
|
TERM='tty' $EDITOR --cmd "set lines=$(wc -l "$1")" +redraw +q "$1"
|
|
}
|
|
|
|
bd() {
|
|
echo "$@" | base64 -d; echo
|
|
}
|
|
|
|
gi() {
|
|
curl -fL "https://www.toptal.com/developers/gitignore/api/$(printf '%s\n' "$@" | sort -u | paste -sd,)"
|
|
}
|
|
|
|
update() {
|
|
$TERM --hold -e "$SHELL" -xc "sudo pacman -Syu && echo $'\e[32mDONE'" &
|
|
$TERM --hold -e "$SHELL" -xc "git --git-dir='$HOME/.dotfiles/' --work-tree='$HOME' submodule update --remote --recursive && echo $'\e[32mDONE'" &
|
|
}
|
|
|
|
tmp() {
|
|
cd -- "$(mktemp -d /tmp/"$1"XXX)" || return
|
|
}
|
|
|
|
tz() {
|
|
local tz src
|
|
|
|
tz="$(cat "$XDG_RUNTIME_DIR/sbar/tz")"
|
|
src="$(find /usr/share/zoneinfo/ -maxdepth 2 -iname "$1*" -printf '%P' -quit)"
|
|
TZ="$tz" date -d "TZ=\"$src\" ${2:-now}" "+%R%:::z $tz"
|
|
TZ="$src" date -d "TZ=\"$tz\" ${2:-now}" "+%R%:::z ${src:-UTC}"
|
|
}
|
|
|
|
venv() {
|
|
local venv="${1:-.venv}"
|
|
local bin="$venv/bin/activate"
|
|
|
|
if ! [ -f "$bin" ]; then
|
|
python -m venv --system-site-packages "$venv"
|
|
fi
|
|
# shellcheck disable=SC1090
|
|
. "$bin"
|
|
}
|
|
|
|
alias -- \
|
|
-='cd -' \
|
|
......='../../../../..' \
|
|
.....='../../../..' \
|
|
....='../../..' \
|
|
...='../..' \
|
|
c='git --git-dir="$HOME/.dotfiles/" --work-tree="$HOME"' \
|
|
cp='cp -vi' \
|
|
diff='diff --color' \
|
|
feh='feh --auto-zoom --scale-down' \
|
|
g=git \
|
|
grep='grep --color --exclude-dir={.cache,.git,.idea,.venv,.vscode,node_modules}' \
|
|
ip='ip -c=auto' \
|
|
l='ll -a' \
|
|
la='ll -A' \
|
|
ll='ls -lh' \
|
|
ls='ls --color' \
|
|
mail=aerc \
|
|
mkdir='mkdir -v' \
|
|
mv='mv -vi' \
|
|
neofetch=fastfetch \
|
|
qcp='qcp -o tabsize=4' \
|
|
qmv='qmv -o tabsize=4' \
|
|
rm='rm -vI' \
|
|
rss=newsraft \
|
|
rsync='rsync -P' \
|
|
ssh='TERM=xterm-256color ssh' \
|
|
sudo='sudo ' \
|
|
vi='$EDITOR' \
|
|
watch='watch -c ' \
|
|
xargs='xargs ' \
|
|
xmr='monero-wallet-cli --daemon-address monero.maby.dev:18081 --trusted-daemon --log-file="$XDG_STATE_HOME/monero.log" --wallet-file "$XDG_DATA_HOME/monero/ange"'
|
|
|
|
. /usr/share/git/completion/git-completion.bash
|
|
$(complete -p git) g c
|