127 lines
2.5 KiB
Bash
127 lines
2.5 KiB
Bash
# 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 [[ "$1" == "skip" || "$2" == "skip" || "$3" == "skip" ]]; then
|
|
echo "1='$1'"
|
|
echo "2='$2'"
|
|
echo "3='$3'"
|
|
skip="true"
|
|
fi
|
|
|
|
if [[ "$skip" == "true" ]]; then
|
|
echo "\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
|
|
|
|
|
|
if [[ "$skip" == "true" ]]; then
|
|
echo "\n`date` - Skipping Installs"
|
|
else
|
|
echo -e "\n`date` - Install 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
|
|
fi
|
|
|
|
|
|
echo -e "\n`date` - BASH Environment"
|
|
|
|
if [[ ! -e ~/.env ]]; then
|
|
if [[ -e example.env ]]; then
|
|
mv -v example.env ~/.env
|
|
else
|
|
echo "ERROR: Neither .env or example.env found." >&2
|
|
fi
|
|
else
|
|
echo "'.env' already exists. Good job!"
|
|
rm -v example.env
|
|
fi
|
|
|
|
if [[ -e bashrc.sh ]]; then
|
|
mv -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 ~/storage/shared/TRASH ]]; then
|
|
mkdir -pv ~/storage/shared/TRASH
|
|
fi
|
|
ln -s ~/storage/shared/TRASH ~/TRASH
|
|
|
|
if [[ ! -d ~/Code && ! -d ~/storage/shared/Code ]]; then
|
|
mkdir -pv ~/Code
|
|
ln -s ~/Code ~/storage/shared/Code
|
|
fi
|
|
|
|
|
|
echo -e "\n`date` - env-shared"
|
|
|
|
env_shared_dir="env-shared-dev-deleteme"
|
|
git clone https://git.hyperling.com/me/env-shared \
|
|
--branch=dev ~/$env_shared_dir
|
|
cp -v ~/$env_shared_dir/rc_shared.sh ~/.rc_shared
|
|
if [[ ! -d ~/bin ]]; then
|
|
mkdir -pv ~/bin
|
|
fi
|
|
cp -v ~/$env_shared_dir/bin-shared/* ~/bin/
|
|
|
|
|
|
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
|