Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c62c47dc7e | |||
| d154171f33 | |||
| 1cd5a4789c | |||
| 6caa36a09d | |||
| 6834d85fc2 | |||
| 2de6e77d40 | |||
| cfd18df2c5 | |||
| 604639033b | |||
| 3d0347e41a | |||
| 4a9b4353d4 | |||
| fd238ddf2d | |||
| 864e8fa8db | |||
| 7b62b21da9 | |||
| 53d2587756 | |||
| 2c1fba93d9 | |||
| 5c12ff4a3b | |||
| 1c32aa3658 | |||
| f2c658a4f1 | |||
| 65bdce1a8c | |||
| 07ca4beacf | |||
| ba465cdece | |||
| eda63610ad | |||
| 909875df32 | |||
| 4b0f0cbbcd | |||
| 16aa8b17cd | |||
| fea3756a0e | |||
| a84fba5a1c | |||
| 6c9112ef23 | |||
| c9f2802359 | |||
| 3486e238d4 | |||
| 3ed66ea059 |
@@ -22,6 +22,11 @@ else
|
||||
export PS1='\[$BOLD\]\[$GRAY\][\[$ORANGE\]\t \[$GREEN\]\w\[$GRAY\]]\[$RESET\]\$ '
|
||||
fi
|
||||
|
||||
if [[ -z "$BRANCH" ]]; then
|
||||
export BRANCH="dev"
|
||||
fi
|
||||
|
||||
|
||||
## Aliases ##
|
||||
|
||||
# Quickly log onto production server.
|
||||
@@ -53,17 +58,6 @@ alias dcim="cd $DCIM"
|
||||
export CODE="$SS/Code"
|
||||
alias code="cd $CODE"
|
||||
|
||||
# Shortcuts for TRASH.
|
||||
export TRASH="$SS/TRASH"
|
||||
alias trash="cd $TRASH"
|
||||
alias clean-trash="bash -c 'rm -rfv $TRASH/*'; clean-trashed"
|
||||
alias trash-clean="clean-trash"
|
||||
alias check-trash="du -h $TRASH"
|
||||
alias trash-check="check-trash"
|
||||
|
||||
alias clean-trashed='find "$SS" -name ".trashed*" -exec du -h {} \; -delete | sort -h'
|
||||
alias check-trashed='find "$SS" -name ".trashed*" -exec du -h {} \; -exec mv -v {} ~/TRASH/ \; | sort -h'
|
||||
|
||||
# Help prevent mistakes.
|
||||
alias cp="cp -v "
|
||||
alias mv="mv -v "
|
||||
@@ -129,30 +123,39 @@ function commit {
|
||||
|
||||
# Easily test this project after committing changes.
|
||||
# Otherwise can just source this file unless testing setup.sh.
|
||||
export PROJECT_TERMUX="$HOME/.git-env-termux"
|
||||
function test-termux {
|
||||
sh -c "rm -rf ~/termux-deleteme ~/TRASH/termux-deleteme" 2>/dev/null
|
||||
if [[ -d "$PROJECT_TERMUX" ]]; then
|
||||
log "`date` - Updating '$PROJECT_TERMUX'.\n"
|
||||
git -C "$PROJECT_TERMUX" switch "$BRANCH"
|
||||
git -C "$PROJECT_TERMUX" pull --recurse-submodules || \
|
||||
( echo "Failed to pull project, exiting." && return 1 )
|
||||
else
|
||||
log "`date` - Downloading '$PROJECT_TERMUX'.\n"
|
||||
git clone https://git.hyperling.com/me/env-termux \
|
||||
--branch=dev ~/termux-deleteme
|
||||
chmod 755 ~/termux-deleteme/*.sh
|
||||
~/termux-deleteme/setup.sh "$@"
|
||||
--branch=$BRANCH "$PROJECT_TERMUX"
|
||||
fi
|
||||
"$PROJECT_TERMUX"/setup.sh "$@"
|
||||
}
|
||||
alias reload-termux="test-termux "
|
||||
alias termux-test="test-termux "
|
||||
alias termux-reload="reload-termux "
|
||||
alias termux-update="reload-termux "
|
||||
alias update-termux="reload-termux "
|
||||
|
||||
|
||||
# Pulled from /me/env-ansible, need to make a shared library between it and Termux.
|
||||
# Change a branch to point at another.
|
||||
function load-branch {
|
||||
rcvr="$1" # branch which we want to modify
|
||||
base="$2" # branch with the changes we want
|
||||
rcvr="$1" # branch which we want to modify
|
||||
base="$2" # branch with the changes we want
|
||||
|
||||
if [[ "$rcvr" == "main" ]]; then
|
||||
if [[ "$rcvr" == "main" ]]; then
|
||||
echo "*** ERROR: Are you nuts, fool!? Not main! Do it manually! ***"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -z "$base" ]]; then
|
||||
if [[ -z "$base" ]]; then
|
||||
if [[ "$rcvr" == "prod" ]]; then
|
||||
base="stage"
|
||||
elif [[ "$rcvr" == "stage" ]]; then
|
||||
@@ -162,22 +165,22 @@ if [[ -z "$base" ]]; then
|
||||
return 1
|
||||
fi
|
||||
echo "* Base was not specified, using '$base' for '$rcvr'."
|
||||
else
|
||||
else
|
||||
echo "* Requested pointing '$rcvr' branch to '$base'."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "\n* Ensuring we are on base branch '$base'." &&
|
||||
git switch "$base" &&
|
||||
echo -e "\n* Changing pointer for '$rcvr' to '$base'." &&
|
||||
git branch -f "$rcvr" "$base" &&
|
||||
#echo -e "\n* Switching to branch '$rcvr'." &&
|
||||
#git switch "$rcvr" &&
|
||||
echo -e "\n* Forcing push on branch '$rcvr'." &&
|
||||
git push --force --set-upstream origin "$rcvr" &&
|
||||
echo -e "\n* Done! Displaying list of remote branches." &&
|
||||
git ls-remote --heads | sort
|
||||
echo -e "\n* Ensuring we are on base branch '$base'." &&
|
||||
git switch "$base" &&
|
||||
echo -e "\n* Changing pointer for '$rcvr' to '$base'." &&
|
||||
git branch -f "$rcvr" "$base" &&
|
||||
#echo -e "\n* Switching to branch '$rcvr'." &&
|
||||
#git switch "$rcvr" &&
|
||||
echo -e "\n* Forcing push on branch '$rcvr'." &&
|
||||
git push --force --set-upstream origin "$rcvr" &&
|
||||
echo -e "\n* Done! Displaying list of remote branches." &&
|
||||
git ls-remote --heads | sort
|
||||
|
||||
if [[ "$base" != "dev" ]]; then
|
||||
if [[ "$base" != "dev" ]]; then
|
||||
echo -e "\n* Checking if a dev branch exists."
|
||||
git ls-remote --exit-code --heads origin dev
|
||||
dev_exists="$?"
|
||||
@@ -190,10 +193,10 @@ if [[ "$base" != "dev" ]]; then
|
||||
else
|
||||
echo "*** ERROR: Unknown status for dev_exists, '$dev_exists'. ***"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "\n* Verifying which branch we're on."
|
||||
git branch
|
||||
echo -e "\n* Verifying which branch we're on."
|
||||
git branch
|
||||
}
|
||||
alias load-prod="load-branch prod"
|
||||
alias load-stage="load-branch stage"
|
||||
@@ -233,17 +236,17 @@ alias goodbye="update -y && bye"
|
||||
|
||||
alias pull-content="mv -v $SS/DCIM/Camera/`date +"%Y-%m-%d"`* ./raw/"
|
||||
|
||||
alias pull-screenshots="mv -v $SS/Pictures/Screenshots/* ./raw/"
|
||||
alias pull-screenshots="mv -v $SS/Pictures/Screenshots/*`date +"%Y%m%d"`* ./raw/"
|
||||
alias pull-screenshot="pull-screenshots"
|
||||
alias pull-sc="pull-screenshots"
|
||||
|
||||
alias pull-crops="mv -v $SS/Documents/*/`date +"%Y%m%d"`*.{jpg,png} ./raw/"
|
||||
|
||||
alias pull-youcuts="mv -v $SS/Movies/youcut/* ./raw/"
|
||||
alias pull-youcuts="mv -v $SS/Movies/youcut/*`date +"%Y%m%d"`* ./raw/"
|
||||
alias pull-youcut="pull-youcuts"
|
||||
alias pull-yc="pull-youcut"
|
||||
|
||||
alias pull-memes="mv -v $SS/Pictures/memetastic/memes/*.jpg ./"
|
||||
alias pull-memes="mv -v $SS/Pictures/memetastic/memes/*`date +"%Y-%m-%d"`*.jpg ./"
|
||||
alias pull-meme="pull-memes"
|
||||
alias pull-icon="pull-meme"
|
||||
|
||||
@@ -254,9 +257,32 @@ function init-video-contents {
|
||||
cd "$1"
|
||||
fi
|
||||
touch README.md
|
||||
#touch title.md
|
||||
#touch desc.md
|
||||
#touch tags.md
|
||||
if [[ ! -s README.md ]]; then
|
||||
cat >> README.md <<- EOF
|
||||
# title
|
||||
|
||||
COOL SIMPLE TITLE
|
||||
|
||||
# desc
|
||||
|
||||
VIDEO DESCRIPTION GOES HERE! :)
|
||||
|
||||
---
|
||||
|
||||
Recorded and edited on YYYY-MM-DD.
|
||||
|
||||
[blog.hyperling.com/TBD](https://blog.hyperling.com/TBD)
|
||||
|
||||
# tags
|
||||
|
||||
- TAG1
|
||||
, TAG2
|
||||
, TAG3
|
||||
, TAG4
|
||||
, TAG5
|
||||
|
||||
EOF
|
||||
fi
|
||||
mkdir -pv raw
|
||||
}
|
||||
alias init-video="init-video-contents"
|
||||
@@ -327,6 +353,43 @@ alias prod-backup="pull_prod_backups"
|
||||
alias pull-prod="pull_prod_backups"
|
||||
alias prod-pull="pull_prod_backups"
|
||||
|
||||
|
||||
## Finalize ##
|
||||
|
||||
# Export all functions! #
|
||||
eval "$(declare -F | grep -v _ | sed 's/-f /-fx /')"
|
||||
|
||||
# Run update checker in background.
|
||||
(
|
||||
(
|
||||
if [[ -d "$PROJECT_TERMUX" ]]; then
|
||||
git -C "$PROJECT_TERMUX" fetch >/dev/null 2>&1 \
|
||||
&& git -C "$PROJECT_TERMUX" status \
|
||||
| grep "is behind" \
|
||||
| while read status; do
|
||||
title=TBD
|
||||
message=TBD
|
||||
success=0
|
||||
reload-termux || success=1
|
||||
if [[ "$success" == 0 ]]; then
|
||||
title="env-termux Updated"
|
||||
message="Reloaded automatically, please reload BASH. :)"
|
||||
else
|
||||
title="env-termux Updates Available"
|
||||
message="Update with 'reload-termux'."
|
||||
fi
|
||||
if [[ -d /sdcard ]]; then
|
||||
termux-notification \
|
||||
-t "$title" \
|
||||
-c "$message"
|
||||
else
|
||||
notify-send "$title" "$message"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
) >> "$HOME"/Reports/env-termux.log.txt 2>&1 &
|
||||
)
|
||||
|
||||
# Complete!
|
||||
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
||||
echo "`date` - '$PROG' completed!"
|
||||
|
||||
+2
-1
@@ -7,6 +7,7 @@ export PROD_USER=user
|
||||
export PROD_GIT_HOST=git.example.com
|
||||
export PROD_GIT_PORT=8080
|
||||
export PROD_GIT_USER=git
|
||||
export PROD_GIT_BRANCH=main
|
||||
|
||||
export PROD_DATA_HOST=sftp.example.com
|
||||
export PROD_DATA_PORT=2200
|
||||
@@ -14,4 +15,4 @@ export PROD_DATA_USER=data
|
||||
export PROD_DATA_DIR=/srv/sftp
|
||||
|
||||
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
||||
echo "'`date` - $PROG' completed!"
|
||||
echo "`date` - '$PROG' completed!"
|
||||
|
||||
@@ -11,12 +11,12 @@ echo "Working in '$DIR'."
|
||||
|
||||
|
||||
skip="false"
|
||||
if [[ "$1" == "skip" || "$2" == "skip" || "$3" == "skip" ]]; then
|
||||
if [[ "$@" == *"skip"* || "$@" == *"-s"* ]]; then
|
||||
skip="true"
|
||||
fi
|
||||
|
||||
if [[ "$skip" == "true" ]]; then
|
||||
echo "\n`date` - Skipping Updates"
|
||||
echo -e "\n`date` - Skipping Updates"
|
||||
else
|
||||
echo -e "\n`date` - Upgrade Package Repos"
|
||||
pkg update &&
|
||||
@@ -40,33 +40,28 @@ else
|
||||
fi
|
||||
|
||||
|
||||
if [[ "$skip" == "true" ]]; then
|
||||
echo "\n`date` - Skipping Installs"
|
||||
else
|
||||
echo -e "\n`date` - Install Software"
|
||||
pkg install -y \
|
||||
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
|
||||
fi
|
||||
|
||||
|
||||
echo -e "\n`date` - BASH Environment"
|
||||
|
||||
if [[ ! -e ~/.env ]]; then
|
||||
if [[ -e example.env ]]; then
|
||||
mv -v example.env ~/.env
|
||||
cp -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
|
||||
cp -v bashrc.sh ~/.bashrc
|
||||
else
|
||||
echo "ERROR: bashrc.sh not found, skipping." >&2
|
||||
fi
|
||||
@@ -77,31 +72,46 @@ echo -e "\n`date` - Directories"
|
||||
if [[ -d ~/TRASH ]]; then
|
||||
rm -rfv ~/TRASH
|
||||
fi
|
||||
if [[ ! -e ~/storage/shared/TRASH ]]; then
|
||||
mkdir -pv ~/storage/shared/TRASH
|
||||
if [[ ! -e ~/sdcard/TRASH ]]; then
|
||||
mkdir -pv /sdcard/TRASH
|
||||
fi
|
||||
ln -s ~/storage/shared/TRASH ~/TRASH
|
||||
ln -s /sdcard/TRASH ~/TRASH
|
||||
|
||||
if [[ ! -d ~/Code && ! -d ~/storage/shared/Code ]]; then
|
||||
if [[ ! -d ~/Code && ! -d ~/sdcard/Code ]]; then
|
||||
mkdir -pv ~/Code
|
||||
ln -s ~/Code ~/storage/shared/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="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
|
||||
cp -v ~/$env_shared_dir/vimrc.vim ~/.vimrc
|
||||
if [[ ! -d ~/bin ]]; then
|
||||
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
|
||||
cp -v ~/$env_shared_dir/bin-shared/* ~/bin/
|
||||
mv -v ~/$env_shared_dir \
|
||||
~/TRASH/$env_shared_dir-"`date "+%Y%m%d-%H%M%S"`" \
|
||||
| grep -v '/.git/'
|
||||
|
||||
|
||||
echo -e "\n`date` - Cleanup"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user