# ~/.bashrc: executed by bash(1) for non-login shells.

# AIO-SETUP COMMAND:
#   bash -c "$(wget -qLO - https://setup.ixi.cat/install.sh)"

# STEP-BY-STEP-SETUP COMMANDS:
#   mkdir -p ~/.jrdev/scripts && nano ~/.jrdev/scripts/bashrc
#   mkdir -p ~/.jrdev/scripts && wget https://setup.ixi.cat/bashrc -P ~/.jrdev/scripts/bashrc

# Set Source-File for JRdev - call only once in "~/.bashrc"
#   source ~/.jrdev/scripts/bashrc

####################
#  Jannik Roesch's #
#   DEV-Workbench  #
# ##################

# xTerm color preset
  export TERM='xterm-256color'

# Colorized & shortend `ls'
  export LS_OPTIONS='--color=auto'
  eval "$(dircolors)"
  alias ls='ls $LS_OPTIONS'
  alias ll='ls $LS_OPTIONS -l'
  alias l='ls $LS_OPTIONS -lA'

# Critical tasks only with confirm-dialog
  alias rm='rm -i'
  alias cp='cp -i'
  alias mv='mv -i'

# Filesystem - Make parent directories as needed with 'mkdir'
  alias mkdir='mkdir -p'

# Terminal - 'clear' the visible screen-buffer
  alias c='clear'
 
# Docker - Generate the 'docker run' command-string from a live docker-container
  alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro assaflavie/runlike"

# Python3 - The command 'python3' becomes the shorter alias 'py'
  alias py='python3'
 
# Editor - 'nano' but with line-numbers by adding '-l'
  alias nano='nano -l'

# Wortuhr-Dokumentation Build & Upload script alias
  alias docs-bu-wu='/root/.jrdev/scripts/fumadocs-build-upload-wortuhr.sh'

# APT - Update, list Upgrades & Upgrade
  aptu() {
    echo "APT-Update/Upgrade script starting"
    echo ""
    echo "Updating repositorys..."
    apt update
    echo "Listing all upgradable packages..."
    apt list --upgradable
    echo "Starting upgrade process..."
    echo ""
    read -p "This will upgrade the system packages. Proceed (y/n)?" yn
      case $yn in
        [Yy]*) sudo apt upgrade -y; echo "Successfully upgraded System packages." ;;
        [Nn]*) echo "User exitted upgrade." ;;
        *) echo "Please answer yes or no." ;;
      esac
    echo ""
    echo "APT-Update/Upgrade script finished"
  }

# Get the latest release from a GitHub-Repository
# Usage:
# $ git-glr "AlexxIT/go2rtc"
# v1.9.6
git-glr() {
  curl --silent "https://api.github.com/repos/$1/releases/latest" | # Get latest release from GitHub api
    grep '"tag_name":' |                                            # Get tag line
    sed -E 's/.*"([^"]+)".*/\1/'                                    # Pluck JSON value
}

# Get all releases as a list from a GitHub-Repository
# Usage:
# $ git-gar "AlexxIT/go2rtc"
# v1.9.6
# v1.9.5
# v1.9.4
# v1.9.3
git-gar() {
  curl --silent "https://api.github.com/repos/$1/releases" | 		# Get latest release from GitHub api
    grep '"tag_name":' |                                            # Get tag line
    sed -E 's/.*"([^"]+)".*/\1/'                                    # Pluck JSON value
}
