mirror of
				https://github.com/ItsDrike/dotfiles.git
				synced 2025-11-04 01:16:35 +00:00 
			
		
		
		
	removed install.sh (no longer required)
This commit is contained in:
		
							parent
							
								
									0a3665483f
								
							
						
					
					
						commit
						9d636e0de4
					
				
					 1 changed files with 0 additions and 169 deletions
				
			
		
							
								
								
									
										169
									
								
								install.sh
									
										
									
									
									
								
							
							
						
						
									
										169
									
								
								install.sh
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,169 +0,0 @@
 | 
			
		|||
#!/usr/bin/sh
 | 
			
		||||
 | 
			
		||||
# Set some basic colors using tput (8-bit color: 256 colors)
 | 
			
		||||
bold="$(tput bold)"
 | 
			
		||||
red="$(tput setaf 196)"
 | 
			
		||||
blue="$(tput setaf 51)"
 | 
			
		||||
yellow="$(tput setaf 226)"
 | 
			
		||||
gold="$(tput setaf 214)"
 | 
			
		||||
grey="$(tput setaf 238)"
 | 
			
		||||
reset="$(tput sgr0)"
 | 
			
		||||
 | 
			
		||||
SCRIPT_DIR="$HOME/dotfiles"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function choose() {
 | 
			
		||||
	return $(whiptail \
 | 
			
		||||
			--title "$1" \
 | 
			
		||||
			--yesno "$2" 25 72 \
 | 
			
		||||
			3>&1 1>&2 2>&3)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function menu2() {
 | 
			
		||||
	output=$(whiptail \
 | 
			
		||||
			--title "$1" \
 | 
			
		||||
			--menu "$2" 25 72 0 \
 | 
			
		||||
			"1" "$3" \
 | 
			
		||||
			"2" "$4" \
 | 
			
		||||
			3>&1 1>&2 2>&3)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function yes_no() {
 | 
			
		||||
	while true; do
 | 
			
		||||
		read -p "(Y/n): " yn
 | 
			
		||||
	    case $yn in
 | 
			
		||||
	        [Yy]* ) return 0; break;;
 | 
			
		||||
	        [Nn]* ) return 1;;
 | 
			
		||||
			* ) echo "Invalid choice (y/n)";;
 | 
			
		||||
		esac
 | 
			
		||||
	done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
echo "${blue} // Do you wish to create symbolic links?${reset}"
 | 
			
		||||
if (yes_no); then
 | 
			
		||||
 | 
			
		||||
	# Backup prompt
 | 
			
		||||
	echo "${blue} // Do you wish to create backup? (otherwise your dotfiles will be deleted).${reset}"
 | 
			
		||||
	if (yes_no); then
 | 
			
		||||
 | 
			
		||||
		echo "${gold} >> Backing up current dotfile configuration${reset}"
 | 
			
		||||
		sleep 1s
 | 
			
		||||
 | 
			
		||||
		# Create backup floder if it doesn't exist
 | 
			
		||||
		if ! [ -d "$SCRIPT_DIR/backup" ]; then
 | 
			
		||||
			echo "Creating backup directory $SCRIPT_DIR/backup"
 | 
			
		||||
			mkdir "$SCRIPT_DIR/backup"
 | 
			
		||||
		else
 | 
			
		||||
			echo "Backup directory: $SCRIPT_DIR/backup"
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		# Backup .oh-my-zsh floder and move it to proper location
 | 
			
		||||
		if [ -d "$HOME/.oh-my-zsh"]; then
 | 
			
		||||
			echo "Creating backup of .oh-my-zsh"
 | 
			
		||||
			cp -r "$HOME/.oh-my-zsh" "$SCRIPT_DIR/backup/"
 | 
			
		||||
			# Ensure .config directory existence
 | 
			
		||||
			if ! [ -d "$HOME/.config" ]; then
 | 
			
		||||
				mkdir "$HOME/.config"
 | 
			
		||||
			fi
 | 
			
		||||
			# Move oh-my-zsh to config (to match .zshrc position)
 | 
			
		||||
			echo "Moving .oh-my-zsh/ to $HOME/.config/oh-my-zsh"
 | 
			
		||||
			mv "$HOME/.oh-my-zsh" "$HOME/.config/oh-my-zsh"
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		# Loop through all dotfiles which will be affected and copy them to backup dir
 | 
			
		||||
		for file in $(find $SCRIPT_DIR/files -type f); do
 | 
			
		||||
			file=${file/$SCRIPT_DIR\/files\//}
 | 
			
		||||
 | 
			
		||||
			if [ -f "$HOME/$file" ]; then
 | 
			
		||||
				# Get name of parent directory of current file
 | 
			
		||||
				dirname=$(dirname "${file}")
 | 
			
		||||
				# Ensure current dirname is in backup dir
 | 
			
		||||
				if ! [ -d "$SCRIPT_DIR/backup/$dirname" ]; then
 | 
			
		||||
					echo "Creating directory backup/$dirname"
 | 
			
		||||
					mkdir -p "$SCRIPT_DIR/backup/$dirname"
 | 
			
		||||
				fi
 | 
			
		||||
 | 
			
		||||
				echo "Backing up file: $HOME/$file"
 | 
			
		||||
				cp "$HOME/$file" "$SCRIPT_DIR/backup/$file"
 | 
			
		||||
				sleep 0.1s
 | 
			
		||||
			else
 | 
			
		||||
				echo "Skipping $file (not found)"
 | 
			
		||||
			fi
 | 
			
		||||
		done
 | 
			
		||||
	else
 | 
			
		||||
		echo "${yellow} >> (WARNING) Backing up cancelled, this will erease your current dotfiles${reset}"
 | 
			
		||||
		sleep 2s
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	# Create SymLinks
 | 
			
		||||
	echo "${gold} >> Creating symbolic links to dotfiles${reset}"
 | 
			
		||||
	sleep 1s
 | 
			
		||||
 | 
			
		||||
	# Loop through every
 | 
			
		||||
	for file in $(find $SCRIPT_DIR/files -type f) ; do
 | 
			
		||||
		file=${file/$SCRIPT_DIR\/files\//}
 | 
			
		||||
 | 
			
		||||
		dirname=$(dirname "$HOME/$file")
 | 
			
		||||
		if ! [ -d $dirname ]; then
 | 
			
		||||
			echo "Creating directory: $dirname"
 | 
			
		||||
			mkdir -p $dirname
 | 
			
		||||
		fi
 | 
			
		||||
 | 
			
		||||
		echo "Creating symbolic link: $HOME/$file"
 | 
			
		||||
		ln -sf "$SCRIPT_DIR/files/$file" "$HOME/$file"
 | 
			
		||||
		# If file is .gitignore ask user for name and email to fill into that file
 | 
			
		||||
		if [[ $file == *'.gitconfig' ]]; then
 | 
			
		||||
			echo "${blue} // Please specify your name for gitconfig (will be used as commits creators name)${reset}"
 | 
			
		||||
			read NAME
 | 
			
		||||
			if ! [ -z $NAME ]; then
 | 
			
		||||
				sed -i "3s/.*/	name = $NAME/" "$SCRIPT_DIR/files/$file"
 | 
			
		||||
			else
 | 
			
		||||
				default_name=$(sed '3q;d' "$SCRIPT_DIR/files/$file")
 | 
			
		||||
				default_name="${default_name/\	/}"
 | 
			
		||||
				default_name="${default_name/name = /}"
 | 
			
		||||
				echo "${yellow} >> NAME not specified, using default ($default_name)${reset}"
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
			echo "${blue} // Please specify your email for gitconfig (will be used as commits creators mail)${reset}"
 | 
			
		||||
			read EMAIL
 | 
			
		||||
			if ! [ -z $EMAIL ]; then
 | 
			
		||||
				sed -i "4s/.*/	email = $EMAIL/" "$SCRIPT_DIR/files/$file"
 | 
			
		||||
			else
 | 
			
		||||
				default_email=$(sed '4q;d' "$SCRIPT_DIR/files/$file")
 | 
			
		||||
				default_email="${default_email/\	/}"
 | 
			
		||||
				default_email="${default_email/email = /}"
 | 
			
		||||
				echo "${yellow} >> EMAIL not specified, using default ($default_email)${reset}"
 | 
			
		||||
			fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
			unset NAME EMAIL default_name default_email
 | 
			
		||||
		fi
 | 
			
		||||
		sleep 0.2s
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
	unset file
 | 
			
		||||
else
 | 
			
		||||
	echo "${grey} >> Symbolic links to dotfiles will not be created${reset}"
 | 
			
		||||
	sleep 1s
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -f "$SCRIPT_DIR/package_install.sh" ]; then
 | 
			
		||||
 | 
			
		||||
	echo "${blue} // Do you wish to install some recommended packages?${reset}"
 | 
			
		||||
	if (yes_no); then
 | 
			
		||||
		echo "${gold} >> Installing packages, redirection to external script ($SCRIPT_DIR/package_install.sh)${reset}"
 | 
			
		||||
		sleep 1s
 | 
			
		||||
		sh "$SCRIPT_DIR/package_install.sh"
 | 
			
		||||
	else
 | 
			
		||||
		echo "${grey} >> No additional packages will be installed.${reset}"
 | 
			
		||||
		sleep 1s
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
unset title txt1 txt2 txt3
 | 
			
		||||
unset SCRIPT_DIR output
 | 
			
		||||
 | 
			
		||||
echo "${bold}Installation Complete.${reset}"
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue