# No Shebang For Termux # 2024-02-10 Hyperling PROG="$(basename -- "${BASH_SOURCE[0]}")" echo "`date` - Starting $PROG" DIR="$(dirname -- "${BASH_SOURCE[0]}")" cd $DIR DIR="`pwd`" echo "Working in '$DIR'." skip="false" if [[ "$@" == *"skip"* || "$@" == *"-s"* ]]; then skip="true" fi if [[ "$skip" == "true" ]]; then echo -e "\n`date` - Skipping Updates" else echo -e "\n`date` - Upgrade Package Repos" pkg update && pkg upgrade -y fi echo -e "\n`date` - Check Storage Permission" if [[ ! -e ~/storage/shared ]]; then sleep 3 termux-setup-storage if [[ -e ~/storage/shared/ ]]; then echo "~/storage/shared/ now exists. :)" else echo "ERROR: Something ain't right, Jim! Abort!" >&2 exit 1 fi else echo "Everything looks good already, pal." fi echo -e "\n`date` - Install & Updayte Crtical Software" pkg install -y \ openssh tsu vim htop git cronie man zip ncurses-utils \ nmap traceroute wget rsync \ ffmpeg imagemagick \ kotlin php nodejs python libllvm hugo echo -e "\n`date` - BASH Environment" if [[ ! -e ~/.env ]]; then if [[ -e example.env ]]; then cp -v example.env ~/.env else echo "ERROR: Neither .env or example.env found." >&2 fi else echo "'.env' already exists. Good job!" fi if [[ -e bashrc.sh ]]; then cp -v bashrc.sh ~/.bashrc else echo "ERROR: bashrc.sh not found, skipping." >&2 fi echo -e "\n`date` - Directories" if [[ -d ~/TRASH ]]; then rm -rfv ~/TRASH fi if [[ ! -e ~/sdcard/TRASH ]]; then mkdir -pv /sdcard/TRASH fi ln -s /sdcard/TRASH ~/TRASH if [[ ! -d ~/Code && ! -d ~/sdcard/Code ]]; then mkdir -pv ~/Code ln -s ~/Code /sdcard/Code fi if [[ -d /sdcard && ! -d "$HOME"/Reports ]]; then mkdir -pv /sdcard/Reports ln -s /sdcard/Reports "$HOME"/Reports fi echo -e "\n`date` - env-shared" env_shared_dir="$HOME/.git-env-shared" if [[ ! -d "$env_shared_dir" ]]; then echo -e "`date` - Not installed, downloading." if [[ -z "$BRANCH" ]]; then export BRANCH="dev" fi git clone https://git.hyperling.com/me/env-shared \ --branch=$BRANCH "$env_shared_dir" cp -v "$env_shared_dir"/rc_shared.sh ~/.rc_shared cp -v "$env_shared_dir"/vimrc.vim ~/.vimrc if [[ ! -d ~/bin ]]; then mkdir -pv ~/bin fi cp -v "$env_shared_dir"/bin-shared/* ~/bin/ else echo -e "`date` - Already installed, updating." git -C "$env_shared_dir" switch "$BRANCH" git -C "$env_shared_dir" pull --recurse-submodules || \ ( echo "Failed to pull project, exiting." && return 1 ) cp -v "$env_shared_dir"/rc_shared.sh ~/.rc_shared cp -v "$env_shared_dir"/vimrc.vim ~/.vimrc fi echo -e "\n`date` - Cleanup" if [[ -n $DIR && $DIR != "/" && $DIR == *"deleteme" && -d .git ]]; then echo "We are in a git clone, remove the project." cd .. mv -v $DIR \ ~/TRASH/termux-"`date +'%Y%m%d%H%M%S'`" \ | grep -v '/.git/' else echo "File was used individually, remove it." mv "$PROG" ~/TRASH/ fi echo -e "\n*******" echo "Don't forget to reload your environment!" echo " source ~/.bashrc" echo "*******" PROG="$(basename -- "${BASH_SOURCE[0]}")" echo -e "\n`date` - Finished $PROG" exit 0