#!/usr/bin/env bash ## CONSTANTS MAIN_TAR_GZ_URL="https://git.artcode.re/miaou/miaou-bash/archive/main.tar.gz" ## FUNCTIONS function upgrade { source_miaou_lib self_upgrade } function install { [[ "$UID" -ne 0 ]] && sudo -vp 'SUDO privilege required: ' MIAOU_BASH_DIR=/opt/miaou-bash export MIAOU_BASH_DIR cd /tmp curl -sO $MAIN_TAR_GZ_URL sudo tar -xzf main.tar.gz --directory $(dirname "$MIAOU_BASH_DIR") source_miaou_lib initiate source /etc/profile echo "miaou-bash successfully installed" } function assert_supported_distro { if ! grep -E '^ID=debian|^ID_LIKE=debian' /etc/os-release && ! grep -E '^ID=arch|^ID_LIKE=arch' /etc/os-release; then local distro=$(grep -oP '^ID=\K(.*)' /etc/os-release) >&2 echo "unsupported GNU/Linux distribution: $distro" >&2 echo 'only debian-like OR arch-like currently supported' exit 2 fi } function once_installed { [[ -v MIAOU_BASH_DIR && -d "$MIAOU_BASH_DIR" && -L /etc/inputrc && "$(readlink /etc/inputrc)" == "$MIAOU_BASH_DIR"/etc/inputrc ]] } function source_miaou_lib { . "$MIAOU_BASH_DIR"/bin/miaou-bash "$MIAOU_BASH_DIR/lib/"$1".bash" } ## MAIN # source <(curl -s https://git.artcode.re/miaou/miaou-bash/raw/branch/main/install2.sh) set -Eeuo pipefail assert_supported_distro once_installed && upgrade || install