Refactored first time setup. Fixed various issues.

main
Graham Helton 2 years ago
parent 0760d64bdc
commit 1b9733a1b9

@ -3,16 +3,19 @@
RED="\e[31m"
BLUE="\e[94m"
GREEN="\e[32m"
YELLOW="\e[33m"
ENDCOLOR="\e[0m"
TITLE="\e[4m"
TICK="[$GREEN+$ENDCOLOR] "
TICK_MOVE="[$GREEN~>$ENDCOLOR] "
TICK_BACKUP="[$GREEN<~~$ENDCOLOR] "
TICK_INPUT="[$YELLOW!$ENDCOLOR] "
TAB="--"
CONFIG_PATH=~/.config/autodeploy
HOST_CONFIG_PATH=~/.config/autodeploy/$(hostname)_config/
BACKUP_DIR=$HOST_CONFIG_PATH"backup/"
FILE_LOG=$HOST_CONFIG_PATH$(hostname)_files.log
remote_repo="http://iroh.int/Graham/ConfigFiles.git"
user=$(hostname)
usage() { echo "Usage: $0 [-s <45|90>] [-p <string>]" 1>&2; exit 1; } # Copy and pasted, need to update
@ -22,30 +25,27 @@ echo $GREEN"-------------------------------------------------------------------"
echo $TICK$GREEN"Autodeploy config path is located at $BLUE$CONFIG_PATH"
echo $GREEN"-------------------------------------------------------------------"$ENDCOLOR
sleep 1
first_setup(){
echo $TICK$GREEN"Running first time setup"$ENDCOLOR
echo $TICK$GREEN"Creating Configuration Files in $BLUE~/.config/autodeploy/ "$ENDCOLOR
mkdir -p ~/.config/autodeploy/
echo $TICK$GREEN"Add your git repository by editing $BLUE~/.config/autodeploy/global_config.conf"$ENDCOLOR # Change this to accept user input
echo "config_name=$(hostname)" > $CONFIG_PATH/global_config.conf
echo "remote_repo="http://iroh.int/Graham/ConfigFiles.git"" >> $CONFIG_PATH/global_config.conf
. ~/.config/autodeploy/global_config.conf
echo $TICK$GREEN"Welcome to first time setup"$ENDCOLOR
echo $TICK$GREEN"Enter your remote git repository URL"$ENDCOLOR
echo $TICK$GREEN"For example: $BLUE"https://github.com/grahamhelton/DotFiles""$ENDCOLOR
echo -n $TICK_INPUT$GREEN"Enter Remote Repository URL: $YELLOW"
read remote_repo
echo $TICK$GREEN"Setting Remote Repository to: $YELLOW$remote_repo "
#. ~/.config/autodeploy/global_config.conf
cd $CONFIG_PATH
git init > /dev/null 2>&1;
git remote add origin $remote_repo > /dev/null 2>&1;
git checkout -b main> /dev/null 2>&1;
echo "config_name=$(hostname)" > $CONFIG_PATH/global_config.conf
echo "remote_repo="http://iroh.int:80/Graham/ConfigFiles.git"" >> $CONFIG_PATH/global_config.conf
echo "neovim\nmupdf" >> $CONFIG_PATH/global_applications.conf
echo ".tmux.conf" >> $CONFIG_PATH/global_dotFiles.conf
. $CONFIG_PATH/global_config.conf
}
# Handle command line options. Not sure why this isn't working inside a function
get_posture(){
@ -105,11 +105,34 @@ stage_files(){
echo $TICK$GREEN"Configuration files saved to $BLUE$HOST_CONFIG_PATH$GREEN, ready to push!"$ENDCOLOR
}
check_git(){
# Check if global_dotFiles.conf is in the current repo
if test -f "$CONFIG_PATH/global_dotFiles.conf";then
echo $RED"-------DEBUG--------"
echo $TICK$GREEN"Config file already found"$ENDCOLOR
else
echo $RED"-------DEBUG--------"
echo $TICK$GREEN"Config file not found, generating base configuration..."$ENDCOLOR
echo "config_name=$(hostname)" > $CONFIG_PATH/global_config.conf
# Add $remote_repo to global_config
echo "$remote_repo" >> $CONFIG_PATH/global_config.conf
# Add default applications to global_applications
echo "curl\nneovim\nzsh" >> $CONFIG_PATH/global_applications.conf
# Add default dot files to global_dotFiles.conf
echo ".tmux.conf" >> $CONFIG_PATH/global_dotFiles.conf
fi
}
pull_files(){
# Push files to $remote_repo
cd $CONFIG_PATH
echo $TICK$GREEN"Pulling Files"$ENDCOLOR
git -C $CONFIG_PATH pull origin main --allow-unrelated-histories
check_git
# This has an error during first time setup. If global files are already in the $CONFIG_PATH, the pull will fail because they'll be overwritten
}
@ -142,6 +165,7 @@ backup_old(){
distribute_files(){
# Places files defined in global_dotFiles in correct folders
backup_old
cd $HOST_CONFIG_PATH
for f in .[!.]* *; do
echo "Copying $f to $HOME"
@ -214,3 +238,4 @@ main(){
# Run main funciton and pass it command line arguments
main "$@"

Loading…
Cancel
Save