✨ feat(apply.sh): finally finished installation script
This commit is contained in:
@@ -1,37 +1,97 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
printf "\n";
|
||||
echo "######################################";
|
||||
echo "## Retrozinndev's Hyprland Dotfiles ##";
|
||||
echo "######################################";
|
||||
printf "\n";
|
||||
set -e
|
||||
trap "printf \"\nOk! Quitting beacuse you entered an exit signal.\n\"; exit 1" SIGINT
|
||||
|
||||
printf "\n"
|
||||
echo "######################################"
|
||||
echo "## Retrozinndev's Hyprland Dotfiles ##"
|
||||
echo "######################################"
|
||||
printf "\n"
|
||||
|
||||
CONFIG_DIR="$HOME/.config"
|
||||
DOTFILES_DIRS=("hypr" "waybar" "swaync" "wlogout" "wofi")
|
||||
DOTFILES_BACKUP_DIR="$HOME/hyprland-dotfiles/bkp"
|
||||
|
||||
echo "Welcome to my dotfiles installation script!"
|
||||
|
||||
# Say that dotfiles aren't ready to use yet and exit
|
||||
echo "Oh oh! Looks like my Dotfiles aren't ready to use yet! Try again later... exiting."
|
||||
printf "\n"
|
||||
exit 0
|
||||
# Warn user of possible problems that can happen
|
||||
echo "WARN! Running this script may cause problems with your system. When continuing, you're confirming that any problem that may happen with your system is of **your** responsability."
|
||||
|
||||
function backup_previous_dotfiles {
|
||||
function Backup_previous_dotfiles {
|
||||
echo "Making backup before installing dotfiles..."
|
||||
# Do backup steps here
|
||||
echo "[info] Creating backup dir in $DOTFILES_BACKUP_DIR"
|
||||
mkdir $DOTFILES_BACKUP_DIR
|
||||
|
||||
# Make backup of existing configurations
|
||||
for dir in ${DOTFILES_DIRS[@]}; do
|
||||
if [[ -d "$CONFIG_DIR/$dir" ]]
|
||||
then
|
||||
echo "-> Making backup of $dir"
|
||||
cp -r "$CONFIG_DIR/$dir" $DOTFILES_BACKUP_DIR
|
||||
else
|
||||
echo "[info] Skipping backup of $dir. It does not exist."
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Finished backup."
|
||||
}
|
||||
|
||||
function apply_dotfiles {
|
||||
function Apply_wallpaper {
|
||||
echo "Would you also like to apply the Nijika Ijichi wallpaper?"
|
||||
read input_wallpaper
|
||||
if [[ $input_wallpaper = "y" ]] || [[ $input_wallpaper = "yes" ]]
|
||||
then
|
||||
echo "Thanks for using the wallpaper! Oh, remember that I am not the author!"
|
||||
echo "Wallpaper source: https://www.wallpaperflare.com/"
|
||||
|
||||
echo "-> Copying Hyprpaper to ~/.config/hypr"
|
||||
echo "-> Copying wallpapers to ~/wallpapers"
|
||||
mkdir -p wallpapers
|
||||
cp ./wallpapers/* $HOME/wallpapers
|
||||
else
|
||||
echo "Ok! The wallpaper is yours to choose!"
|
||||
fi
|
||||
}
|
||||
|
||||
function Apply_dotfiles {
|
||||
|
||||
printf "\n"
|
||||
backup_previous_dotfiles
|
||||
Backup_previous_dotfiles
|
||||
printf "\n"
|
||||
|
||||
printf "Starting dotfiles installation...\n"
|
||||
|
||||
echo "[info] Installing Hyprland configs"
|
||||
echo "[info] Installing wofi stylesheet"
|
||||
echo "Ah yes! Looks like it's ready to use! If you find any issue, report at: https://github.com/retrozinndev/Hyprland-Dots/issues "
|
||||
echo "-> Installing Hypr family"
|
||||
# Hypr family(hyprland, hypridle, etc.) steps
|
||||
mkdir -p $CONFIG_DIR/hypr
|
||||
cp -f ./hyprland/* $CONFIG_DIR/hypr
|
||||
cp -f ./hyprlock/* $CONFIG_DIR/hypr
|
||||
cp -f ./hypridle/* $CONFIG_DIR/hypr
|
||||
|
||||
echo "-> Installing Wofi"
|
||||
mkdir -p $CONFIG_DIR/wofi
|
||||
cp -f ./wofi/* $CONFIG_DIR/wofi
|
||||
|
||||
echo "-> Installing Sway Notification Center"
|
||||
mkdir -p $CONFIG_DIR/swaync
|
||||
cp -f ./swaync/* $CONFIG_DIR/swaync
|
||||
|
||||
echo "-> Installing Waybar"
|
||||
mkdir -p $CONFIG_DIR/waybar
|
||||
cp -f ./waybar/* $CONFIG_DIR/waybar
|
||||
|
||||
echo "-> Installing Wlogout Menu"
|
||||
mkdir -p $CONFIG_DIR/wlogout
|
||||
cp -f ./wlogout/* $CONFIG_DIR/wlogout
|
||||
|
||||
# Ask if user wants to apply repo's default wallpaper
|
||||
Apply_wallpaper
|
||||
|
||||
echo "Ah yes! Looks like it's ready to use, yay!"
|
||||
echo "If you find any issue, please report at: https://github.com/retrozinndev/Hyprland-Dots/issues"
|
||||
echo "Thanks for using my dotfiles! I'm really happy with that :3"
|
||||
printf "\n"
|
||||
}
|
||||
|
||||
echo -n "Do you want to install the dotfiles? [y/n] "
|
||||
@@ -39,7 +99,7 @@ read input
|
||||
|
||||
if [[ $input = "y" ]] || [[ $input = "yes" ]]
|
||||
then
|
||||
apply_dotfiles
|
||||
Apply_dotfiles
|
||||
else
|
||||
printf "Ok, doing as you said! Bye bye!\n"
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user