Updates
This commit is contained in:
parent
60f2229b42
commit
5c0a5028fe
@ -3,45 +3,160 @@
|
|||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
|
|
||||||
datets=$(date '+%Y%m%d%H%M%S')
|
datets=$(date '+%Y%m%d%H%M%S')
|
||||||
if [ -d ~/dotfiles ] || [ -f ~/.bashrc ]; then
|
|
||||||
echo -e "${GREEN}"
|
# Create Backup File Structure
|
||||||
figlet "Backup"
|
|
||||||
echo -e "${NONE}"
|
if [ ! -d ~/dotfiles-versions ]; then
|
||||||
if [ -d ~/dotfiles ]; then
|
|
||||||
echo ":: The script has detected an existing dotfiles folder and will try to create a backup into the folder:"
|
|
||||||
echo " ~/dotfiles-versions/backups/$datets"
|
|
||||||
fi
|
|
||||||
if [ ! -L ~/.bashrc ] && [ -f ~/.bashrc ]; then
|
|
||||||
echo ":: The script has detected an existing .bashrc file and will try to create a backup to:"
|
|
||||||
echo " ~/dotfiles-versions/backups/$datets/.bashrc-old"
|
|
||||||
fi
|
|
||||||
if gum confirm "Do you want to create a backup?" ;then
|
|
||||||
if [ ! -d ~/dotfiles-versions ]; then
|
|
||||||
mkdir ~/dotfiles-versions
|
mkdir ~/dotfiles-versions
|
||||||
echo "~/dotfiles-versions created."
|
echo "~/dotfiles-versions created."
|
||||||
|
fi
|
||||||
|
if [ ! -d ~/dotfiles-versions/backup ]; then
|
||||||
|
mkdir ~/dotfiles-versions/backup
|
||||||
|
echo "~/dotfiles-versions/backup created"
|
||||||
|
fi
|
||||||
|
if [ -d ~/dotfiles-versions/backups ]; then
|
||||||
|
mv ~/dotfiles-versions/backups ~/dotfiles-versions/archive
|
||||||
|
echo ":: Existing backups moved into ~/dotfiles-versions/archive"
|
||||||
|
fi
|
||||||
|
if [ ! -d ~/dotfiles-versions/archive ]; then
|
||||||
|
mkdir ~/dotfiles-versions/archive
|
||||||
|
echo "~/dotfiles-versions/archive created"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Backup Existing Dotfiles
|
||||||
|
|
||||||
|
if [ -d ~/dotfiles ] || ! test -L ~/.bashrc || [ -d ~/.config/hypr ] || [ -d ~/.config/qtile ]; then
|
||||||
|
|
||||||
|
echo -e "${GREEN}"
|
||||||
|
figlet "Backup"
|
||||||
|
echo -e "${NONE}"
|
||||||
|
echo "The script has detected the following files and folders for a backup:"
|
||||||
|
|
||||||
|
if [ -d ~/dotfiles ]; then
|
||||||
|
echo " - $HOME/dotfiles"
|
||||||
fi
|
fi
|
||||||
if [ ! -d ~/dotfiles-versions/backups ]; then
|
if ! test -L ~/.bashrc ;then
|
||||||
mkdir ~/dotfiles-versions/backups
|
echo " - $HOME/.bashrc"
|
||||||
echo "~/dotfiles-versions/backups created"
|
fi
|
||||||
|
if ! test -L ~/.config/qtile && [ -d ~/.config/qtile ] ;then
|
||||||
|
echo " - $HOME/.config/qtile/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/hypr && [ -d ~/.config/hypr ] ;then
|
||||||
|
echo " - $HOME/.config/hypr/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/rofi && [ -d ~/.config/rofi ] ;then
|
||||||
|
echo " - $HOME/.config/rofi/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/wal && [ -d ~/.config/wal ] ;then
|
||||||
|
echo " - $HOME/.config/wal/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/waybar && [ -d ~/.config/waybar ] ;then
|
||||||
|
echo " - $HOME/.config/waybar/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/wlogout && [ -d ~/.config/wlogout ] ;then
|
||||||
|
echo " - $HOME/.config/wlogout/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/alacritty && [ -d ~/.config/alacritty ] ;then
|
||||||
|
echo " - $HOME/.config/alacritty/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/starship && [ -d ~/.config/starship ] ;then
|
||||||
|
echo " - $HOME/.config/starship/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/picom && [ -d ~/.config/picom ] ;then
|
||||||
|
echo " - $HOME/.config/picom/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/nvim && [ -d ~/.config/nvim ] ;then
|
||||||
|
echo " - $HOME/.config/nvim/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/vim && [ -d ~/.config/vim ] ;then
|
||||||
|
echo " - $HOME/.config/vim/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/dunst && [ -d ~/.config/dunst ] ;then
|
||||||
|
echo " - $HOME/.config/dunst/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/swappy && [ -d ~/.config/swappy ] ;then
|
||||||
|
echo " - $HOME/.config/swappy/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start Backup
|
||||||
|
|
||||||
|
if gum confirm "Do you want to create a backup?" ;then
|
||||||
|
|
||||||
|
if [ ! -z "$(ls -A ~/dotfiles-versions/backup)" ] ;then
|
||||||
|
if gum confirm "Do you want to archive the existing backup?" ;then
|
||||||
|
rsync -a ~/dotfiles-versions/backup/ ~/dotfiles-versions/archive/$datets/
|
||||||
|
echo ":: Current backup archived in ~/dotfiles-versions/archive/$datets"
|
||||||
fi
|
fi
|
||||||
if [ ! -d ~/dotfiles-versions/backups/$datets ]; then
|
|
||||||
mkdir ~/dotfiles-versions/backups/$datets
|
|
||||||
echo "~/dotfiles-versions/backups/$datets created"
|
|
||||||
fi
|
fi
|
||||||
if [ -d ~/dotfiles ]; then
|
if [ -d ~/dotfiles ]; then
|
||||||
rsync -a ~/dotfiles/ ~/dotfiles-versions/backups/$datets/
|
rsync -a ~/dotfiles ~/dotfiles-versions/backup/
|
||||||
echo ":: Backup of your current dotfiles in ~/dotfiles-versions/backups/$datets created."
|
echo ":: Backup of $HOME/dotfiles created in ~/dotfiles-versions/backup"
|
||||||
fi
|
fi
|
||||||
if [ -f ~/.bashrc ]; then
|
if ! test -L ~/.bashrc ;then
|
||||||
cp ~/.bashrc ~/dotfiles-versions/backups/$datets/.bashrc-old
|
cp ~/.bashrc ~/dotfiles-versions/backup
|
||||||
echo ":: Existing .bashrc file found in homefolder. .bashrc-old created"
|
echo ":: Backup of $HOME/.bashrc created in ~/dotfiles-versions/backup"
|
||||||
|
fi
|
||||||
|
if [ ! -d ~/dotfiles-versions/backup/config ] ;then
|
||||||
|
mkdir ~/dotfiles-versions/backup/config
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/qtile && [ -d ~/.config/qtile ] ;then
|
||||||
|
cp ~/.config/qtile ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/qtile created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/hypr && [ -d ~/.config/hypr ] ;then
|
||||||
|
cp ~/.config/hypr ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/hypr created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/qtile && [ -d ~/.config/rofi ] ;then
|
||||||
|
cp ~/.config/rofi ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/rofi created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/wal && [ -d ~/.config/wal ] ;then
|
||||||
|
cp ~/.config/wal ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/wal created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/waybar && [ -d ~/.config/waybar ] ;then
|
||||||
|
cp ~/.config/waybar ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/waybar created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/wlogout && [ -d ~/.config/wlogout ] ;then
|
||||||
|
cp ~/.config/wlogout ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/wlogout created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/alacritty && [ -d ~/.config/alacritty ] ;then
|
||||||
|
cp ~/.config/alacritty ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/alacritty created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/starship && [ -d ~/.config/starship ] ;then
|
||||||
|
cp ~/.config/starship ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/starship created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/picom && [ -d ~/.config/picom ] ;then
|
||||||
|
cp ~/.config/picom ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/picom created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/nvim && [ -d ~/.config/nvim ] ;then
|
||||||
|
cp ~/.config/nvim ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/nvim created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/vim && [ -d ~/.config/vim ] ;then
|
||||||
|
cp ~/.config/vim ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/vim created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/dunst && [ -d ~/.config/dunst ] ;then
|
||||||
|
cp ~/.config/dunst ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/dunst created in ~/dotfiles-versions/backup/config/"
|
||||||
|
fi
|
||||||
|
if ! test -L ~/.config/swappy && [ -d ~/.config/swappy ] ;then
|
||||||
|
cp ~/.config/swappy ~/dotfiles-versions/backup/config
|
||||||
|
echo ":: Backup of $HOME/.config/swappy created in ~/dotfiles-versions/backup/config/"
|
||||||
fi
|
fi
|
||||||
echo
|
|
||||||
echo ":: PLEASE NOTE: You can create a fresh installation of teh dotfiles by removing the folder ~/dotfiles"
|
|
||||||
elif [ $? -eq 130 ]; then
|
elif [ $? -eq 130 ]; then
|
||||||
exit 130
|
exit 130
|
||||||
else
|
else
|
||||||
echo ":: Backup skipped."
|
echo ":: Backup skipped."
|
||||||
fi
|
fi
|
||||||
echo ""
|
else
|
||||||
|
echo ":: Nothing to backup"
|
||||||
fi
|
fi
|
||||||
|
echo
|
@ -5,13 +5,13 @@ echo -e "${GREEN}"
|
|||||||
figlet "Preparation"
|
figlet "Preparation"
|
||||||
echo -e "${NONE}"
|
echo -e "${NONE}"
|
||||||
if [ -d ~/.config ]; then
|
if [ -d ~/.config ]; then
|
||||||
echo ".config folder already exists."
|
echo ":: $HOME/.config folder already exists."
|
||||||
else
|
else
|
||||||
mkdir ~/.config
|
mkdir ~/.config
|
||||||
echo ".config folder created."
|
echo ":: $HOME/.config folder created."
|
||||||
fi
|
fi
|
||||||
echo
|
echo
|
||||||
echo ":: Preparing temporary folders for the installation."
|
echo "Preparing temporary folders for the installation."
|
||||||
if [ ! -d ~/dotfiles-versions ]; then
|
if [ ! -d ~/dotfiles-versions ]; then
|
||||||
mkdir ~/dotfiles-versions
|
mkdir ~/dotfiles-versions
|
||||||
echo ":: ~/dotfiles-versions folder created."
|
echo ":: ~/dotfiles-versions folder created."
|
||||||
@ -32,5 +32,5 @@ if [[ $(_isFolderEmpty ~/dotfiles-versions/$version/) == 0 ]] ;then
|
|||||||
echo "Execution of rsync -a -I --exclude-from=.install/includes/excludes.txt . ~/dotfiles-versions/$version/ is required."
|
echo "Execution of rsync -a -I --exclude-from=.install/includes/excludes.txt . ~/dotfiles-versions/$version/ is required."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
echo ":: dotfiles $version successfully prepared in ~/dotfiles-versions/$version/"
|
echo ":: ML4W Dotfiles $version successfully prepared in ~/dotfiles-versions/$version/"
|
||||||
echo ""
|
echo
|
||||||
|
@ -4,12 +4,11 @@
|
|||||||
|
|
||||||
# Synchronize packages
|
# Synchronize packages
|
||||||
sudo pacman -Sy
|
sudo pacman -Sy
|
||||||
echo ""
|
echo
|
||||||
|
|
||||||
# Check for required packages
|
# Check for required packages
|
||||||
echo ":: Checking that required packages for the installation are installed..."
|
echo "Checking that required packages for the installation are installed..."
|
||||||
_installPackagesPacman "rsync" "gum" "figlet" "python";
|
_installPackagesPacman "rsync" "gum" "figlet" "python";
|
||||||
echo ""
|
|
||||||
|
|
||||||
# Double check rsync
|
# Double check rsync
|
||||||
if ! command -v rsync &> /dev/null; then
|
if ! command -v rsync &> /dev/null; then
|
||||||
@ -18,4 +17,4 @@ if ! command -v rsync &> /dev/null; then
|
|||||||
else
|
else
|
||||||
echo ":: rsync double checked"
|
echo ":: rsync double checked"
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo
|
@ -5,7 +5,13 @@
|
|||||||
echo -e "${GREEN}"
|
echo -e "${GREEN}"
|
||||||
figlet "System Update"
|
figlet "System Update"
|
||||||
echo -e "${NONE}"
|
echo -e "${NONE}"
|
||||||
echo "It's important that your system is up-to-date before you proceed with the installation of the ML4W Dotfiles."
|
echo "It's important that your system is up-to-date before you proceed."
|
||||||
if gum confirm "Do you want to update the packages of your system with yay now?" ;then
|
if gum confirm "Do you want to update your system with yay now?" ;then
|
||||||
|
echo ":: Update started"
|
||||||
yay
|
yay
|
||||||
|
elif [ $? -eq 130 ]; then
|
||||||
|
exit 130
|
||||||
|
else
|
||||||
|
echo ":: System update skipped"
|
||||||
fi
|
fi
|
||||||
|
echo
|
||||||
|
14
install.sh
14
install.sh
@ -14,11 +14,11 @@ if [ ! -z $1 ]; then
|
|||||||
fi
|
fi
|
||||||
echo -e "${GREEN}"
|
echo -e "${GREEN}"
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
__ __ _ _ ___ __ _ _ __ _ _
|
__ __ _ _ ___ __ ____ _ __ _ _
|
||||||
| \/ | | | || \ \ / / __| | ___ | |_ / _(_) | ___ ___
|
| \/ | | | || \ \ / / | _ \ ___ | |_ / _(_) | ___ ___
|
||||||
| |\/| | | | || |\ \ /\ / / / _` |/ _ \| __| |_| | |/ _ \/ __|
|
| |\/| | | | || |\ \ /\ / / | | | |/ _ \| __| |_| | |/ _ \/ __|
|
||||||
| | | | |__|__ _\ V V / | (_| | (_) | |_| _| | | __/\__ \
|
| | | | |__|__ _\ V V / | |_| | (_) | |_| _| | | __/\__ \
|
||||||
|_| |_|_____| |_| \_/\_/ \__,_|\___/ \__|_| |_|_|\___||___/
|
|_| |_|_____| |_| \_/\_/ |____/ \___/ \__|_| |_|_|\___||___/
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
echo -e "${NONE}"
|
echo -e "${NONE}"
|
||||||
@ -27,8 +27,8 @@ echo "Version: $version"
|
|||||||
echo "by Stephan Raabe 2024"
|
echo "by Stephan Raabe 2024"
|
||||||
echo ""
|
echo ""
|
||||||
if [ -d ~/dotfiles ] ;then
|
if [ -d ~/dotfiles ] ;then
|
||||||
echo "A ML4W dotfiles installation has been detected."
|
echo "A ML4W Dotfiles installation has been detected."
|
||||||
echo "This script will guide you through the update process of the ML4W dotfiles."
|
echo "This script will guide you through the update process of the ML4W Dotfiles."
|
||||||
else
|
else
|
||||||
echo "This script will guide you through the installation process of the ML4W dotfiles."
|
echo "This script will guide you through the installation process of the ML4W dotfiles."
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user