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,)" } md2html() { for f in "$@"; do (set -x docker run --rm -v "$PWD:/data/" \ docker.io/pandoc/minimal:latest --pdf-engine=xelatex \ "$f" -o "${f%.md}.html" ) done } 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