#!/bin/sh # Use neovim for vim if present. [ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d" # If code-insiders exists and code does not, use code-insiders. [ -x "$(command -v code-insiders)" ] && [ ! -x "$(command -v code)" ] && alias code="code-insiders" # Use $XINITRC variable if file exists. [ -f "$XINITRC" ] && alias startx='startx "$XINITRC"' # sudo not required for some system commands for x in mount umount sv emerge apt pacman updatedb su ; do # shellcheck disable=SC2139 alias $x='sudo $x' done if command -v doas >/dev/null 2>&1 then alias sudo='doas' else alias sudo='sudo -E' fi # Verbosity and settings that you pretty much just always are going to want. alias \ cp="cp -iv" \ mv="mv -iv" \ rm="rm -vI" \ bc="bc -ql" \ mkdir="mkdir -pv" \ yt="yt-dlp --add-metadata -i" \ yta="yt -x -f bestaudio/best" \ ffmpeg="ffmpeg -hide_banner" \ df="df -h" \ du="dust -r" \ free="free -m" \ gdb='gdb -q -nh -x "$XDG_CONFIG_HOME/gdb/init"' \ wget='wget --hsts-file="$XDG_DATA_HOME/wget-hsts"' \ # Colorize commands when possible. alias \ ls="eza -aF --group-directories-first" \ ll="eza -alg --group-directories-first" \ lt='eza -aTF --group-directories-first' \ lr='eza -aRF' \ grep="rg --color=auto --hyperlink-format=file://{wslprefix}{path}" \ diff="delta" \ cat='bat --paging=never --style=plain' \ # These common commands are just too long! Abbreviate them. alias \ ka="killall" \ g="git" \ trem="transmission-remote" \ YT="youtube-viewer" \ sdn="sudo shutdown -h now" \ e="\$EDITOR" \ v="\$EDITOR" \ em="sudo emerge" \ p="sudo pacman" \ xi="sudo xbps-install" \ xr="sudo xbps-remove -R" \ xq="xbps-query" \ z="zathura" alias adb='HOME="$XDG_DATA_HOME"/android adb' # Use the SSH kitten when possible. (but not already in SSH) if [ "$TERM" = "xterm-kitty" ] && [ -z "$SSH_TTY" ]; then alias sshs='sshs -t "kitten ssh \"{{{name}}}\""' fi