#!/usr/bin/env bash # When using zsh, see also # $HOME/.oh-my-zsh/lib export SCREENSHOT_DIR="$HOME/pictures/screenshots" # ░█▀▀░█░█░▀█▀░░░█▀▀░█▀█░█▀▀░▀█▀░█░█░█▀█░█▀▄░█▀▀ # ░█▀▀░▄▀▄░░█░░░░▀▀█░█░█░█▀▀░░█░░█▄█░█▀█░█▀▄░█▀▀ # ░▀▀▀░▀░▀░░▀░░░░▀▀▀░▀▀▀░▀░░░░▀░░▀░▀░▀░▀░▀░▀░▀▀▀ # Music player alias m="ncmpcpp" # Text editor if command -v nvim &> /dev/null; then alias vim="nvim" alias vi="nvim" elif command -v vim &> /dev/null; then alias nvim="vim" alias vi="vim" elif command -v vi &> /dev/null; then alias nvim="vi" alias vim="vi" else echo -e "\033[31m[ERROR] No vim program found on the system! Couldn't bind aliases!\033[0m" fi alias openfile='$HOME/.scripts/rofi/config-selector.py | xargs nvim' # IPython if command -v ipython &> /dev/null; then alias p="ipython" fi # YouTube-dl if command -v youtube-dl &> /dev/null; then alias youtube-dl-list='youtube-dl -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio" -o "%(playlist_index)s-%(title)s.%(ext)s"' alias music-dl='youtube-dl --extract-audio -f "bestaudio[ext=m4a]/best"' alias music-dl-list='youtube-dl --extract-audio -f "bestaudio[ext=m4a]/best" -o "%(playlist_index)s-%(title)s.%(ext)s"' fi # Screenshots if command -v maim &> /dev/null; then alias skusho='maim --hidecursor --nokeyboard $(echo $SCREENSHOT_DIR)/$(date +%s).png' if command -v xclip &> /dev/null; then alias skushoclip='maim --hidecursor --nokeyboard --select | xclip -selection clipboard -target image/png -in' fi fi # Scan listening ports if command -v netstat &> /dev/null; then alias ports='sudo netstat -tulpn | grep LISTEN' fi # Latex Make if command -v latexmk &> /dev/null; then alias view-latex='latexmk -pdf -pvc main.tex' fi # Tmux reload if command -v tmux &> /dev/null; then alias reload-tmux='tmux source $HOME/.config/tmux/tmux.conf' fi # Ag replacement if command -v rg &> /dev/null; then alias ag='rg' fi # Xmonad recompilation if command -v xmonad &> /dev/null; then alias xr='xmonad --recompile' alias xmr='paru -S xmobar-git --noconfirm' alias xxmr='xr; xmr' fi if [[ -f $HOME/.scripts/dropbox.py ]]; then alias dp="python $HOME/.scripts/dropbox.py" fi # ------------------------ System tools ------------------------ # # cp if command -v z &> /dev/null; then alias cd='z' fi # cp if command -v rsync &> /dev/null; then alias ccp='/usr/bin/cp' alias cp='rsync --progress --human-readable' alias cpr='rsync --progress --human-readable --recursive' fi # cat if command -v bat &> /dev/null; then alias ccat='/usr/bin/cat' # TODO: use mdcat if the file is a markdown file alias cat='bat' fi # htop if command -v bottom &> /dev/null; then alias htop='bottom' fi # ps if command -v procs &> /dev/null; then alias ps='procs' fi # find if command -v fd &> /dev/null; then # At the current time, fd does not support the -m flag, which I have # experienced that some software rely on. Therefore, it's gonna be aliased # to fin alias fin='fd' fi # xxd if command -v hex &> /dev/null; then alias xxd='hex' fi # uniq if command -v runiq &> /dev/null; then alias uniq='runiq' fi # cut if command -v hck &> /dev/null; then alias cut='hck' fi # ------------------------ Reminders ------------------------ # # compression decompression if command -v ouch &> /dev/null; then alias zip='echo "Consider using ouch instead\n"; zip' alias unzip='echo "Consider using ouch instead\n"; unzip' alias tar='echo "Consider using ouch instead\n"; tar' fi # Make tool if command -v just &> /dev/null; then alias make='echo "Consider using just instead\n"; make' fi # Disk usage viewer if command -v diskonaut &> /dev/null; then alias ncdu='echo "Consider using diskonaut instead\n"; ncdu' fi # ░█▀▀░█▀█░█░░░█▀█░█▀▄ # ░█░░░█░█░█░░░█░█░█▀▄ # ░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀ if command -v exa &> /dev/null; then alias lls='/usr/bin/ls' alias ls='exa' alias sl='ls' alias lsa='exa -lah --changed --time-style long-iso --git --group' else alias ls='ls --group-directories-first --color=auto' alias ll='ls -alFh --group-directories-first --color=auto' alias la='ls -A --group-directories-first --color=auto -F' fi alias dir='dir --color=auto' alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' alias ip='ip --color' alias gpg-tui='gpg-tui --style colored' # ░█▀▄░▀█▀░█▀▄░░░▀▀█░█░█░█▄█░█▀█░█▀▀ # ░█░█░░█░░█▀▄░░░░░█░█░█░█░█░█▀▀░▀▀█ # ░▀▀░░▀▀▀░▀░▀░░░▀▀░░▀▀▀░▀░▀░▀░░░▀▀▀ alias gt='cd $HOME/git' alias tmp='cd /tmp' alias cd..='cd ..' alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias .....='cd ../../../..' alias ......='cd ../../../../..' alias rrn='chmod 440' alias wwn='chmod 660' alias xxn='chmod 770' alias rrx='chmod 445' alias wwr='chmod 664' alias x3='chmod 775' # ░█▄█░▀█▀░█▀▀░█▀▀ # ░█░█░░█░░▀▀█░█░░ # ░▀░▀░▀▀▀░▀▀▀░▀▀▀ alias dush='du -sh' alias realias='source $HOME/.aliases' alias q='exit' alias rmr='rmdir' alias pagga='toilet -f pagga' # Supposed to be used as a pipe: "cat file | rainbow" alias rainbow='toilet -f pagga | lolcat' # ░█▀█░█▀█░█▀▀░█░░░▀█▀░█▀█░█▀▀░█▀▄░█▀▀ # ░█░█░█░█░█▀▀░█░░░░█░░█░█░█▀▀░█▀▄░▀▀█ # ░▀▀▀░▀░▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀░▀░▀░▀▀ alias killall-tmux="tmux ls | awk '{print $1}' | sed 's/://g' | xargs -I{} tmux kill-session -t {}" # Get current Fcitx mode alias get-fcitx-mode='qdbus "org.fcitx.Fcitx" "/inputmethod" "GetCurrentIM"' alias wcd='find . -type f -exec cat {} + | wc -l' # Make ftp server alias makeftp='python -m pyftpdlib --directory=$HOME/ --port=2121' alias echo-colors='for x in 0 1 4 5 7 8; do for i in {30..37}; do for a in {40..47}; do echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "; done; echo; done; done; echo "";' # ░█▀▀░█░█░█▀█░█▀▀░▀█▀░▀█▀░█▀█░█▀█░█▀▀ # ░█▀▀░█░█░█░█░█░░░░█░░░█░░█░█░█░█░▀▀█ # ░▀░░░▀▀▀░▀░▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀▀ gac(){ git add $1 && git commit -a -m $2 } c-file() { nvim $($HOME/.scripts/rofi/config-selector.py) } if command -v netstat &> /dev/null; then # Usage: $ conn-ips 80 conn-ips() { netstat -tn 2>/dev/null | grep :$1 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head } fi # ░█▀▀░█▀█░█░█░█▀▄░█▀▀░█▀▀░█▀▀ # ░▀▀█░█░█░█░█░█▀▄░█░░░█▀▀░▀▀█ # ░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀░▀▀▀░▀▀▀ if [[ -f $HOME/.aliases.private ]]; then source $HOME/.aliases.private fi if [[ -f $HOME/.aliases.desktop ]]; then source $HOME/.aliases.desktop fi if [[ -f $HOME/.aliases.laptop ]]; then source $HOME/.aliases.laptop fi if [[ -d "$HOME/.project-template-aliases" ]]; then for f in $(find $HOME/.project-template-aliases/ -maxdepth 1 -type f) do source $f done fi