mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2025-04-28 05:02:26 +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
Reference in a new issue