profile/aliases.sh

146 lines
4.4 KiB
Bash

#!/bin/sh
ALIASES_BLACK='\033[0;30m' # Black
ALIASES_RED='\033[0;31m' # Red
ALIASES_GREEN='\033[0;32m' # Green
ALIASES_YELLOW='\033[0;33m' # Yellow (or Brown)
ALIASES_BLUE='\033[0;34m' # Blue
ALIASES_MAGENTA='\033[0;35m' # Magenta
ALIASES_CYAN='\033[0;36m' # Cyan
ALIASES_LIGHT_GRAY='\033[0;37m' # Light Gray (or White)
ALIASES_DARK_GRAY='\033[1;30m' # Dark Gray
ALIASES_LIGHT_RED='\033[1;31m' # Light Red
ALIASES_LIGHT_GREEN='\033[1;32m' # Light Green
ALIASES_LIGHT_YELLOW='\033[1;33m' # Light Yellow
ALIASES_LIGHT_BLUE='\033[1;34m' # Light Blue
ALIASES_LIGHT_MAGENTA='\033[1;35m' # Light Magenta
ALIASES_LIGHT_CYAN='\033[1;36m' # Light Cyan
ALIASES_WHITE='\033[1;37m' # White
ALIASES_NC='\033[0m' # No Color
echo "Aliases added:"
echo -e "${ALIASES_WHITE} cs venv"
echo " n ns pc cdlf lfcd g gg gitknow disk-usage sx debug.log"
echo " mc newsh smartresize"
echo " lv red alice viridian zirconia ultra pest kermit japsay pi4"
echo -e "${ALIASES_NC}"
echo ""
alias backup='sudo borgmatic create --verbosity 1 --files'
alias disk-usage='sudo du -h -d 2 .[^.]* * | sort -h'
alias anki='anki --no-sandbox'
alias cs='lxc list -c ns4s,user.comment:comment'
alias pc='pcmanfm . & disown'
alias media-window='bspc node -z top 0 +530'
# enable aliases for commands inside sudo
# TOOD check this is safe
alias sudo='sudo '
alias venv='source ./venv/bin/activate'
alias e='nvim'
alias er='nvim README.md'
alias et='nvim TODO.md'
alias en='nvim NOTES.md'
alias ens='nvim NEXT_STEPS.md'
alias ea='nvim .autonote.md'
alias ee='nvim .'
alias debug.log='clear && echo "" > debug.log && tail -f debug.log'
alias sx='/usr/bin/sxhkd -c /home/ray/.config/sxhkd/sxhkdrc /home/ray/.config/sxhkd/sxhkdrc.bspwm /home/ray/.config/sxhkd/sxhkdrc.bspwm.machineone &'
alias g='git status'
alias gg='git add . && git commit -m "update" && git push'
alias gitknow='cd ~/knowledge-base && git add . && git status && git commit -m update && git push ; cd -'
alias ls='ls --color=auto -h --group-directories-first --time-style=+"%d.%m.%Y %H:%M" -F'
alias cp='cp -irv'
alias mkdir='mkdir -vp'
alias mv='mv -iv'
alias rm='rm -dv'
alias wget='wget --hsts-file="$XDG_DATA_HOME/wget-hsts"'
alias grep='grep --colour=auto'
alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto'
alias hgrep='history | grep --color=auto'
alias bc='bc -q -l'
alias ytdl='youtube-dl --write-info-json --write-description --no-playlist'
alias ytdlb='youtube-dl --write-info-json --write-description --no-playlist -a'
alias ytdl-mp3='youtube-dl -f bestaudio --extract-audio --audio-format mp3 --embed-thumbnail --add-metadata'
alias lv='ssh nhg5vomib8ue@92.205.144.38'
alias pi4='ssh pi@192.168.0.11'
alias red='ssh ray@red.isnet.uk'
alias amber='ssh ray@amber.isnet.one'
alias alice='ssh ray@alice.isnet.uk'
alias viridian='ssh root@viridian.isnet.one'
alias zirconia='ssh ray@zirconia.rayelliott.dev'
alias zirconiarc='ssh runcloud@zirconia.rayelliott.dev'
alias ultra='ssh gabbaell@mimas.usbx.me'
alias pest='ssh ray@pestilence.isnet.one'
alias japsay="ssh ray@japsay.isnet.one -p 4721"
alias kermit="ssh ray@kermit.isnet.one -p 23421"
# lf gets confused by TERMINFO env var when running in tmux
# https://github.com/gokcehan/lf/issues/138#issuecomment-464477665
if [ -n "$TERMINFO" ] ; then
alias lf="TERMINFO= lf -last-dir-path=~/.cache/lf-last-dir"
else
alias lf="lf -last-dir-path=~/.cache/lf-last-dir"
fi
cdlf() {
cd "$(cat ~/.cache/lf-last-dir)"
}
lfcd() {
lf -last-dir-path="$HOME"/.cache/lf-last-dir
cdlf
}
update() {
echo -e "Executing \"${ALIASES_GREEN}pacman -Syu${ALIASES_NC}\" via \"${ALIASES_BLUE}archnews_wrap${ALIASES_NC}\" wrapper"
sudo ~/.src/archnews/archnews_wrap -Syu && cat /dev/null > /home/ray/.checkupdates
}
# functions
# $1 - output directory
# $2 - size
# $3 - filename
smartresize() {
mogrify -path "$3" -filter Triangle -define filter:support=2 -thumbnail "$2" -unsharp 0.25x0.08+8.3+0.045 -dither None -posterize 136 -quality 82 -define jpeg:fancy-upsampling=off -define png:compression-filter=5 -define png:compression-level=9 -define png:compression-strategy=1 -define png:exclude-chunk=all -interlace none -colorspace sRGB "$1"
}
re() {
git clone ssh://git@git.rayelliott.dev:3222/rayelliott/"$1".git $2
}
mc() {
mkdir "$1" && cd "$1"
}
newsh() {
set -e
if [ -f "$1" ] ; then
echo "Error: file exists: $1"
exit 1
fi
echo "#!/bin/sh" > "$1"
echo "" >> "$1"
echo "$2" >> "$1"
chmod +x "$1"
nvim "$1" +3
}