diff --git a/.bash_aliases b/.bash_aliases index a7f309c..6f30765 100755 --- a/.bash_aliases +++ b/.bash_aliases @@ -108,43 +108,20 @@ alias mnts='mount | column -t' # The history command but shorter alias h='history' - -##### moved to .bash_docker will be removed in next commit ##### - -## Lazy docker composing. Set the variable somewhere. -#alias doco="$DOCKER_COMPOSE_COMMAND" -#alias redoco="$DOCKER_COMPOSE_COMMAND down && $DOCKER_COMPOSE_COMMAND up -d" -#alias redog="$DOCKER_COMPOSE_COMMAND down && $DOCKER_COMPOSE_COMMAND up -d; $DOCKER_COMPOSE_COMMAND logs -f" -#alias dolog="$DOCKER_COMPOSE_COMMAND up -d; $DOCKER_COMPOSE_COMMAND logs -f" -#alias watchtower="docker run -d --restart unless-stopped --name 'watch-$(date +%H%M)' -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower " -#alias watchonce="docker run -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once" -#alias onetower="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once" -#alias docport='docker container ls --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}" -a' -## Regain all that space taken up by projects you abandoned -#alias docprune='echo "Pruning images"; docker image prune -f && echo "Pruning networks"; docker network prune -f && echo "Pruning containers"; docker container prune -f && echo "Pruning Volumes"; docker volume prune -f' -## Send things instantly to a pastebin. Pipe other commands into this to share their output. -#alias bin='nc termbin.com 9999' -## Quicker Docker exec -#alias dex='docker exec' -#alias dps="docker ps --format 'CONTAINER ID: {{.ID}}\nIMAGE: {{.Image}}\nCOMMAND: {{.Command}}\nCREATED: {{.CreatedAt}}\nSTATUS: {{.Status}}\nPORTS: {{.Ports}}\nNAMES: {{.Names}}\n'|cat" -#alias lzd='docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v ~/lzd:/.config/jesseduffield/lazydocker lazyteam/lazydocker' -#alias doctime="docker ps --format 'CONTAINER NAME: {{.Names}}\nUPTIME: {{.Status}}'|cat" -#alias glance='docker run --rm -e TZ="${TZ}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host --network host -it nicolargo/glances:latest-full' -#alias ytdlp='docker run --rm -v "/nasty/ytdl:/media" -it jauderho/yt-dlp:latest ' # Misc # Get the weather. Put your location after the command alias wttr='ansiweather -u imperial -s false -l' -#Read the fucking manual -rtfm() { help $@ || info $@ || man $@ || curl "http://cheat.sh/$@"; } -# Get your public IP -extip(){ ip=$(curl -s http://api.ipify.org); - echo "Public IP address is $ip" -} -# Cheatsheet for linux commands -ch() { curl "http://cheat.sh/$@"; } -# You can go to noti.toad.city and generate your own code to get browser notifications. It's all explained there. You'll need to modify this value -notica() { curl --data "d:$*" "https://noti.toad.city/?VFvu53" ; } - +##Read the fucking manual +#rtfm() { help $@ || info $@ || man $@ || curl "http://cheat.sh/$@"; } +## Get your public IP +#extip(){ ip=$(curl -s http://api.ipify.org); +# echo "Public IP address is $ip" +#} +## Cheatsheet for linux commands +#ch() { curl "http://cheat.sh/$@"; } +## You can go to noti.toad.city and generate your own code to get browser notifications. It's all explained there. You'll need to modify this value +#notica() { curl --data "d:$*" "https://noti.toad.city/?VFvu53" ; } +# # A quick lil speedyboi alias speedTest='curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -' # If you're runnng my exact mastodon setup, this will be useful @@ -154,81 +131,81 @@ alias hackingtool='docker run -it --net=host --security-opt seccomp=unconfined - # Do you need to reboot? Find out here! alias needrs='[ -f /var/run/reboot-required ] && echo "You need to reboot"' alias gitgraph='git log --graph --oneline --decorate' -# Countdown Timer -countdown() { - start="$(( $(date '+%s') + $1))" - while [ $start -ge $(date +%s) ]; do - time="$(( $start - $(date +%s) ))" - printf '%s\r' "$(date -u -d "@$time" +%H:%M:%S)" - sleep 0.1 - done -} -# Random quote to avoid making useful commit messages -function rgcm() { - api="https://whatthecommit.com/index.txt" - message=$(curl -s $api) - if [[ -z $message ]]; then - echo "Error: Failed to retrieve a random commit message" - return 1 - fi - git add . - git commit -m "$message" - echo "Git commit submitted with message: $message" -} -function cntdn() { - local count=$1 - while [ $count -gt 0 ]; do - echo -en "\n$count... " - if [ $count -eq 3 ]; then - echo "You've still got a few seconds to live it up before your time runs out!" - elif [ $count -eq 2 ]; then - echo "Tick-tock, tick-tock, time's running out!" - elif [ $count -eq 1 ]; then - echo "You had a good run, but it's time to face the music!" - fi - sleep 1 - ((count--)) - done - echo "Time's up!" -} - -function ramdisk() { - if [ -z "$1" ]; then - echo "Error: Ramdisk size not specified." - return 1 - fi - if [ ! -d "$HOME/ramdown" ]; then - mkdir "$HOME/ramdown" - fi - - size="$1" - - sudo mount -t tmpfs -o size="$size" tmpfs "$HOME/ramdown" -} - -ipin() { - local ip=$1 - local endpoint="https://ipinfo.io" - # Append IP to the endpoint if provided - if [[ -n $ip ]]; then - endpoint+="/$ip" - fi - endpoint+="/json?token=4ea2457429bf23" - # Make the API call and prettify the JSON response - curl -s "$endpoint" | jq . -} -# Tere function -tere() { - local result=$(command tere "$@") - [ -n "$result" ] && cd -- "$result" -} -# Compress files. Like the name says. -function compress_files() { - if [ -z "$1" ]; then - echo "Usage: compress_files ..." - else - zip -r "$1" "${@:2}" - fi -} -# See open ports +## Countdown Timer +#countdown() { +# start="$(( $(date '+%s') + $1))" +# while [ $start -ge $(date +%s) ]; do +# time="$(( $start - $(date +%s) ))" +# printf '%s\r' "$(date -u -d "@$time" +%H:%M:%S)" +# sleep 0.1 +# done +#} +## Random quote to avoid making useful commit messages +#function rgcm() { +# api="https://whatthecommit.com/index.txt" +# message=$(curl -s $api) +# if [[ -z $message ]]; then +# echo "Error: Failed to retrieve a random commit message" +# return 1 +# fi +# git add . +# git commit -m "$message" +# echo "Git commit submitted with message: $message" +#} +#function cntdn() { +# local count=$1 +# while [ $count -gt 0 ]; do +# echo -en "\n$count... " +# if [ $count -eq 3 ]; then +# echo "You've still got a few seconds to live it up before your time runs out!" +# elif [ $count -eq 2 ]; then +# echo "Tick-tock, tick-tock, time's running out!" +# elif [ $count -eq 1 ]; then +# echo "You had a good run, but it's time to face the music!" +# fi +# sleep 1 +# ((count--)) +# done +# echo "Time's up!" +#} +# +#function ramdisk() { +# if [ -z "$1" ]; then +# echo "Error: Ramdisk size not specified." +# return 1 +# fi +# if [ ! -d "$HOME/ramdown" ]; then +# mkdir "$HOME/ramdown" +# fi +# +# size="$1" +# +# sudo mount -t tmpfs -o size="$size" tmpfs "$HOME/ramdown" +#} +# +#ipin() { +# local ip=$1 +# local endpoint="https://ipinfo.io" +# # Append IP to the endpoint if provided +# if [[ -n $ip ]]; then +# endpoint+="/$ip" +# fi +# endpoint+="/json?token=4ea2457429bf23" +# # Make the API call and prettify the JSON response +# curl -s "$endpoint" | jq . +#} +## Tere function +#tere() { +# local result=$(command tere "$@") +# [ -n "$result" ] && cd -- "$result" +#} +## Compress files. Like the name says. +#function compress_files() { +# if [ -z "$1" ]; then +# echo "Usage: compress_files ..." +# else +# zip -r "$1" "${@:2}" +# fi +#} +## See open ports alias ports='netstat -tuln ' diff --git a/.bash_functions b/.bash_functions new file mode 100644 index 0000000..f0c8114 --- /dev/null +++ b/.bash_functions @@ -0,0 +1,90 @@ + +#Read the fucking manual +rtfm() { help $@ || info $@ || man $@ || curl "http://cheat.sh/$@"; } +# Get your public IP +extip(){ ip=$(curl -s http://api.ipify.org); + echo "Public IP address is $ip" +} + +# Cheatsheet for linux commands +ch() { curl "http://cheat.sh/$@"; } + +# You can go to noti.toad.city and generate your own code to get browser notifications. It's all explained there. You'll need to modify this value +notica() { curl --data "d:$*" "https://noti.toad.city/?VFvu53" ; } + +# Countdown Timer +countdown() { + start="$(( $(date '+%s') + $1))" + while [ $start -ge $(date +%s) ]; do + time="$(( $start - $(date +%s) ))" + printf '%s\r' "$(date -u -d "@$time" +%H:%M:%S)" + sleep 0.1 + done +} +# Random quote to avoid making useful commit messages +function rgcm() { + api="https://whatthecommit.com/index.txt" + message=$(curl -s $api) + if [[ -z $message ]]; then + echo "Error: Failed to retrieve a random commit message" + return 1 + fi + git add . + git commit -m "$message" + echo "Git commit submitted with message: $message" +} +function cntdn() { + local count=$1 + while [ $count -gt 0 ]; do + echo -en "\n$count... " + if [ $count -eq 3 ]; then + echo "You've still got a few seconds to live it up before your time runs out!" + elif [ $count -eq 2 ]; then + echo "Tick-tock, tick-tock, time's running out!" + elif [ $count -eq 1 ]; then + echo "You had a good run, but it's time to face the music!" + fi + sleep 1 + ((count--)) + done + echo "Time's up!" +} + +function ramdisk() { + if [ -z "$1" ]; then + echo "Error: Ramdisk size not specified." + return 1 + fi + if [ ! -d "$HOME/ramdown" ]; then + mkdir "$HOME/ramdown" + fi + + size="$1" + + sudo mount -t tmpfs -o size="$size" tmpfs "$HOME/ramdown" +} + +ipin() { + local ip=$1 + local endpoint="https://ipinfo.io" + # Append IP to the endpoint if provided + if [[ -n $ip ]]; then + endpoint+="/$ip" + fi + endpoint+="/json?token=4ea2457429bf23" + # Make the API call and prettify the JSON response + curl -s "$endpoint" | jq . +} +# Tere function +tere() { + local result=$(command tere "$@") + [ -n "$result" ] && cd -- "$result" +} +# Compress files. Like the name says. +function compress_files() { + if [ -z "$1" ]; then + echo "Usage: compress_files ..." + else + zip -r "$1" "${@:2}" + fi +} diff --git a/.bashrc b/.bashrc index 5f14ef4..c69dee1 100644 --- a/.bashrc +++ b/.bashrc @@ -136,7 +136,9 @@ fi if [ -f ~/.bash_docker ]; then . ~/.bash_docker fi - +if [ -f ~/.bash_functions ]; then + . ~/.bash_functions +fi # enable programmable completion features (you don't need to enable # this, if it's already enabled in /etc/bash.bashrc and /etc/profile # sources /etc/bash.bashrc). diff --git a/:b2 b/:b2 new file mode 100644 index 0000000..45b7872 --- /dev/null +++ b/:b2 @@ -0,0 +1,211 @@ +# Detect distribution +if [ -f /etc/os-release ]; then + . /etc/os-release +fi + +# Application management +case "$ID" in + ubuntu|debian|pop) + # Install something bypassing the prompts + alias inst='sudo apt-get install -y' + # Do a basic update + alias update='sudo apt-get update -y && sudo apt-get upgrade -y' + # Upgrade everything + alias upgrade_all='sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get autoclean -y && sudo apt-get --with-new-pkgs upgrade -y' + # Search packages + alias pacs='apt-cache search' + # Uninstall + alias burn='sudo apt-get autoremove' + ;; + arch|archlinux) + # Check if yay is installed + if command -v yay >/dev/null 2>&1; then + # Install something bypassing the prompts + alias inst='yay -S --noconfirm' + # Do a basic update + alias update='yay -Syu --noconfirm' + # Upgrade everything + alias upgrade_all='yay -Syu --noconfirm && yay -Rns $(pacman -Qdtq) --noconfirm && sudo paccache -r' + # Search packages + alias pacs='yay -Ss' + # Uninstall + alias burn='yay -Rns --noconfirm' + else + # Install something bypassing the prompts + alias inst='sudo pacman -S --noconfirm' + # Do a basic update + alias update='sudo pacman -Syu --noconfirm' + # Upgrade everything + alias upgrade_all='sudo pacman -Syu --noconfirm && sudo pacman -Rns $(pacman -Qdtq) --noconfirm && sudo paccache -r' + # Search packages + alias pacs='pacman -Ss' + # Uninstall + alias burn='sudo pacman -Rns --noconfirm' + fi + ;; + alpine) + # Install something bypassing the prompts + alias inst='sudo apk add' + # Do a basic update + alias update='sudo apk update && sudo apk upgrade' + # Upgrade everything + alias upgrade_all='sudo apk update && sudo apk upgrade && sudo apk cache clean' + # Search packages + alias pacs='apk search' + # Uninstall + alias burn='sudo apk del' + ;; + *) + # Add any other distribution-specific aliases here + ;; +esac + +# General +# Get $HOME quick +alias ~='cd ~/;clear' +# A Nice display of all files in a directory +alias ll='ls -hog' +# Above but...different I'm sure +alias lsa='ls -lah' +# List stuff sorted by size +alias lt='ls --human-readable --size -1 -S --classify' +# Grep command history fast-like +alias gh='history|grep' +# lol +alias please='sudo !!' +# sometimes it feels good +alias fucking='sudo' +# Install bat. It's better. +alias cat='bat' +# Source this very file +alias src='source ~/.bashrc' +# Big Boy edit something +alias svim='sudo vim' +# Ping but with sounds +alias ding='ping -i 5 -a' +# An extremely useful benchmark script +alias yabs='curl -sL yabs.sh | bash' + +# Utilities +# A faster way to do the thing it does +alias sysres='sudo systemctl restart' +# This one too +alias sysup='sudo systemctl enable --now' +# Also this one +alias sysdn='sudo systemctl disable --now' + +#opens specified command in new window in screen session +alias s='screen -X screen ' +# Resume screen or create a new one named main +alias scr='screen -r || screen -S main' +# press enter to continue. Occasionally useful +alias cnfrm='read -p "Press enter to proceed" ' + +# A more intense ping for the professional on the go +alias pang='ping -i 10 -v -a' +# List the mounted things +alias mnts='mount | column -t' +# The history command but shorter +alias h='history' + +# Misc +# Get the weather. Put your location after the command +alias wttr='ansiweather -u imperial -s false -l' +##Read the fucking manual +#rtfm() { help $@ || info $@ || man $@ || curl "http://cheat.sh/$@"; } +## Get your public IP +#extip(){ ip=$(curl -s http://api.ipify.org); +# echo "Public IP address is $ip" +#} +## Cheatsheet for linux commands +#ch() { curl "http://cheat.sh/$@"; } +## You can go to noti.toad.city and generate your own code to get browser notifications. It's all explained there. You'll need to modify this value +#notica() { curl --data "d:$*" "https://noti.toad.city/?VFvu53" ; } +# +# A quick lil speedyboi +alias speedTest='curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -' +# If you're runnng my exact mastodon setup, this will be useful +alias tootctl='docker exec -it -w /app/www mastodon bin/tootctl' +# HAHAHA Go for it. Hours of fun and profit or ruining all your stuff +alias hackingtool='docker run -it --net=host --security-opt seccomp=unconfined --privileged blackarchlinux/blackarch:latest' +# Do you need to reboot? Find out here! +alias needrs='[ -f /var/run/reboot-required ] && echo "You need to reboot"' +alias gitgraph='git log --graph --oneline --decorate' +# Countdown Timer +countdown() { + start="$(( $(date '+%s') + $1))" + while [ $start -ge $(date +%s) ]; do + time="$(( $start - $(date +%s) ))" + printf '%s\r' "$(date -u -d "@$time" +%H:%M:%S)" + sleep 0.1 + done +} +# Random quote to avoid making useful commit messages +function rgcm() { + api="https://whatthecommit.com/index.txt" + message=$(curl -s $api) + if [[ -z $message ]]; then + echo "Error: Failed to retrieve a random commit message" + return 1 + fi + git add . + git commit -m "$message" + echo "Git commit submitted with message: $message" +} +function cntdn() { + local count=$1 + while [ $count -gt 0 ]; do + echo -en "\n$count... " + if [ $count -eq 3 ]; then + echo "You've still got a few seconds to live it up before your time runs out!" + elif [ $count -eq 2 ]; then + echo "Tick-tock, tick-tock, time's running out!" + elif [ $count -eq 1 ]; then + echo "You had a good run, but it's time to face the music!" + fi + sleep 1 + ((count--)) + done + echo "Time's up!" +} + +function ramdisk() { + if [ -z "$1" ]; then + echo "Error: Ramdisk size not specified." + return 1 + fi + if [ ! -d "$HOME/ramdown" ]; then + mkdir "$HOME/ramdown" + fi + + size="$1" + + sudo mount -t tmpfs -o size="$size" tmpfs "$HOME/ramdown" +} + +ipin() { + local ip=$1 + local endpoint="https://ipinfo.io" + # Append IP to the endpoint if provided + if [[ -n $ip ]]; then + endpoint+="/$ip" + fi + endpoint+="/json?token=4ea2457429bf23" + # Make the API call and prettify the JSON response + curl -s "$endpoint" | jq . +} +# Tere function +tere() { + local result=$(command tere "$@") + [ -n "$result" ] && cd -- "$result" +} +# Compress files. Like the name says. +function compress_files() { + if [ -z "$1" ]; then + echo "Usage: compress_files ..." + else + zip -r "$1" "${@:2}" + fi +} +# See open ports +alias ports='netstat -tuln '