Updates
This commit is contained in:
parent
3f1ec6a90f
commit
dcadc82c44
|
@ -1,2 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
rsync -av --exclude-from=excludes.txt ../ ~/dotfiles/
|
|
13
.dev/sync.sh
Executable file
13
.dev/sync.sh
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Execute the script with ./sync version e.g., ./sync 2.5.2
|
||||||
|
|
||||||
|
if [ ! -z $1 ] ;then
|
||||||
|
if [ -d ~/dotfiles-versions/"$1" ] ;then
|
||||||
|
echo "Folder exists. Start rsync now ..."
|
||||||
|
rsync -avzh --exclude-from=excludes.txt ~/dotfiles-versions/$1/ ~/dotfiles
|
||||||
|
else
|
||||||
|
echo "Folder ~/dotfiles-versions/$1 not found."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "No folder specified. Please use ./sync folder"
|
||||||
|
fi
|
|
@ -13,7 +13,6 @@ cat <<"EOF"
|
||||||
EOF
|
EOF
|
||||||
echo -e "${NONE}"
|
echo -e "${NONE}"
|
||||||
echo "Preparing temporary folders for the installation."
|
echo "Preparing temporary folders for the installation."
|
||||||
echo ""
|
|
||||||
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."
|
||||||
|
@ -23,11 +22,9 @@ if [ ! -d ~/dotfiles-versions/$version ]; then
|
||||||
echo "~/dotfiles-versions/$version folder created."
|
echo "~/dotfiles-versions/$version folder created."
|
||||||
else
|
else
|
||||||
echo "The folder ~/dotfiles-versions/$version already exists from previous installations."
|
echo "The folder ~/dotfiles-versions/$version already exists from previous installations."
|
||||||
echo ""
|
|
||||||
rm -fr ~/dotfiles-versions/$version
|
rm -fr ~/dotfiles-versions/$version
|
||||||
mkdir ~/dotfiles-versions/$version
|
mkdir ~/dotfiles-versions/$version
|
||||||
echo "Clean build prepared for the installation."
|
echo "Clean build prepared for the installation."
|
||||||
echo ""
|
|
||||||
fi
|
fi
|
||||||
rsync -a --exclude-from=.install/excludes.txt . ~/dotfiles-versions/$version/
|
rsync -a --exclude-from=.install/excludes.txt . ~/dotfiles-versions/$version/
|
||||||
echo "dotfiles $version successfully prepared in ~/dotfiles-versions/$version/"
|
echo "dotfiles $version successfully prepared in ~/dotfiles-versions/$version/"
|
||||||
|
|
160
.install/restore.sh
Normal file → Executable file
160
.install/restore.sh
Normal file → Executable file
|
@ -2,7 +2,110 @@
|
||||||
# Restore
|
# Restore
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
|
|
||||||
|
restorelist=""
|
||||||
|
|
||||||
|
_showRestoreOptions() {
|
||||||
|
echo "The following configurations can be transferred into the new installation:"
|
||||||
|
echo "(SPACE = select/unselect a profile. RETURN = confirm. No selection = CANCEL)"
|
||||||
|
echo ""
|
||||||
|
restorelist=""
|
||||||
|
if [ -f ~/dotfiles/.bashrc ]; then
|
||||||
|
restorelist+="~/dotfiles/.bashrc "
|
||||||
|
fi
|
||||||
|
if [[ $profile == *"Hyprland"* ]]; then
|
||||||
|
if [ -f ~/dotfiles/hypr/conf/keyboard.conf ]; then
|
||||||
|
restorelist+="~/dotfiles/hypr/conf/keyboard.conf "
|
||||||
|
fi
|
||||||
|
if [ -f ~/dotfiles/hypr/conf/keybindings.conf ]; then
|
||||||
|
restorelist+="~/dotfiles/hypr/conf/keybindings.conf "
|
||||||
|
fi
|
||||||
|
if [ -f ~/dotfiles/hypr/conf/monitor.conf ] && [ -d ~/dotfiles/hypr/conf/monitor/ ]; then
|
||||||
|
restorelist+="~/dotfiles/hypr/conf/monitor.conf "
|
||||||
|
fi
|
||||||
|
if [ -f ~/dotfiles/hypr/conf/animation.conf ] && [ -d ~/dotfiles/hypr/conf/animation/ ]; then
|
||||||
|
restorelist+="~/dotfiles/hypr/conf/animation.conf "
|
||||||
|
fi
|
||||||
|
if [ -f ~/dotfiles/hypr/conf/decoration.conf ] && [ -d ~/dotfiles/hypr/conf/decorations/ ]; then
|
||||||
|
restorelist+="~/dotfiles/hypr/conf/decoration.conf "
|
||||||
|
fi
|
||||||
|
if [ -f ~/dotfiles/hypr/conf/window.conf ] && [ -d ~/dotfiles/hypr/conf/windows/ ]; then
|
||||||
|
restorelist+="~/dotfiles/hypr/conf/window.conf "
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ $profile == *"Qtile"* ]]; then
|
||||||
|
if [ -f ~/dotfiles/qtile/conf/keyboard.py ]; then
|
||||||
|
restorelist+="~/dotfiles/qtile/conf/keyboard.py "
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ ! -z "$restorelist" ] ;then
|
||||||
|
restorelist+="All"
|
||||||
|
fi
|
||||||
|
restoreselect=$(gum choose --no-limit --cursor-prefix "( ) " --selected-prefix "(x) " --unselected-prefix "( ) " $restorelist)
|
||||||
|
if [ ! -z "$restoreselect" ] ;then
|
||||||
|
echo "Selected to restore:"
|
||||||
|
echo "$restoreselect"
|
||||||
|
echo ""
|
||||||
|
confirmrestore=$(gum choose "Start restore" "Change restore" "Cancel restore")
|
||||||
|
if [ "$confirmrestore" == "Start restore" ] ;then
|
||||||
|
_startRestore
|
||||||
|
elif [ "$confirmrestore" == "Change restore" ]; then
|
||||||
|
_showRestoreOptions
|
||||||
|
else
|
||||||
|
echo "Restore skipped."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "No files selected to restore."
|
||||||
|
confirmrestore=$(gum choose "Change restore" "Cancel restore")
|
||||||
|
if [ "$confirmrestore" == "Change restore" ]; then
|
||||||
|
echo ""
|
||||||
|
_showRestoreOptions
|
||||||
|
else
|
||||||
|
echo "Restore skipped."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_startRestore() {
|
||||||
|
if [[ $restoreselect == *"~/dotfiles/.bashrc"* ]] || [[ $restoreselect == *"All"* ]] ; then
|
||||||
|
cp ~/dotfiles/.bashrc ~/dotfiles-versions/$version/
|
||||||
|
echo ".bashrc restored!"
|
||||||
|
fi
|
||||||
|
if [[ $restoreselect == *"~/dotfiles/hypr/conf/keyboard.conf"* ]] || [[ $restoreselect == *"All"* ]] ; then
|
||||||
|
cp ~/dotfiles/hypr/conf/keyboard.conf ~/dotfiles-versions/$version/hypr/conf/
|
||||||
|
echo "Hyprland keyboard.conf restored!"
|
||||||
|
fi
|
||||||
|
if [[ $restoreselect == *"~/dotfiles/hypr/conf/monitor.conf"* ]] || [[ $restoreselect == *"All"* ]] ; then
|
||||||
|
cp ~/dotfiles/hypr/conf/monitor.conf ~/dotfiles-versions/$version/hypr/conf/
|
||||||
|
echo "Hyprland monitor.conf restored!"
|
||||||
|
fi
|
||||||
|
if [[ $restoreselect == *"~/dotfiles/hypr/conf/keybindings.conf"* ]] || [[ $restoreselect == *"All"* ]] ; then
|
||||||
|
cp ~/dotfiles/hypr/conf/keybindings.conf ~/dotfiles-versions/$version/hypr/conf/
|
||||||
|
echo "Hyprland keybindings.conf restored!"
|
||||||
|
fi
|
||||||
|
if [[ $restoreselect == *"~/dotfiles/hypr/conf/animation.conf"* ]] || [[ $restoreselect == *"All"* ]] ; then
|
||||||
|
cp ~/dotfiles/hypr/conf/animation.conf ~/dotfiles-versions/$version/hypr/conf/
|
||||||
|
echo "Hyprland animation.conf restored!"
|
||||||
|
fi
|
||||||
|
if [[ $restoreselect == *"~/dotfiles/hypr/conf/decoration.conf"* ]] || [[ $restoreselect == *"All"* ]] ; then
|
||||||
|
cp ~/dotfiles/hypr/conf/decoration.conf ~/dotfiles-versions/$version/hypr/conf/
|
||||||
|
echo "Hyprland decoration.conf restored!"
|
||||||
|
fi
|
||||||
|
if [[ $restoreselect == *"~/dotfiles/hypr/conf/window.conf"* ]] || [[ $restoreselect == *"All"* ]] ; then
|
||||||
|
cp ~/dotfiles/hypr/conf/window.conf ~/dotfiles-versions/$version/hypr/conf/
|
||||||
|
echo "Hyprland keybindings.conf restored!"
|
||||||
|
fi
|
||||||
|
if [[ $restoreselect == *"~/dotfiles/qtile/conf/keyboard.py"* ]] || [[ $restoreselect == *"All"* ]] ; then
|
||||||
|
cp ~/dotfiles/qtile/conf/keyboard.py ~/dotfiles-versions/$version/qtile/conf/
|
||||||
|
echo "Qtile keyboard.py restored!"
|
||||||
|
fi
|
||||||
|
restored=1
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
if [ -d ~/dotfiles ]; then
|
if [ -d ~/dotfiles ]; then
|
||||||
|
|
||||||
echo -e "${GREEN}"
|
echo -e "${GREEN}"
|
||||||
cat <<"EOF"
|
cat <<"EOF"
|
||||||
____ _
|
____ _
|
||||||
|
@ -16,59 +119,10 @@ echo -e "${NONE}"
|
||||||
restored=0
|
restored=0
|
||||||
echo "The script will try to restore existing configurations."
|
echo "The script will try to restore existing configurations."
|
||||||
echo "PLEASE NOTE: Restoring is not possible with version < 2.5 of the dotfiles."
|
echo "PLEASE NOTE: Restoring is not possible with version < 2.5 of the dotfiles."
|
||||||
echo "In that case, please use the autamated backup or create your own backup manually."
|
echo "In that case, please use the automated backup or create your own backup manually."
|
||||||
echo ""
|
echo ""
|
||||||
echo "The following configurations can be transferred into the new installation."
|
|
||||||
if [ -f ~/dotfiles/.bashrc ]; then
|
_showRestoreOptions
|
||||||
echo ".bashrc file: ~/dotfiles/.bashrc"
|
|
||||||
fi
|
|
||||||
if [[ $profile == *"Hyprland"* ]]; then
|
|
||||||
if [ -f ~/dotfiles/hypr/conf/keyboard.conf ]; then
|
|
||||||
echo "Hyprland keyboard layout: ~/dotfiles/hypr/conf/keyboard.conf"
|
|
||||||
fi
|
|
||||||
if [ -f ~/dotfiles/hypr/conf/monitor.conf ]; then
|
|
||||||
echo "Hyprland monitor setup: ~/dotfiles/hypr/conf/monitor.conf"
|
|
||||||
fi
|
|
||||||
if [ -f ~/dotfiles/hypr/conf/keybindings.conf ]; then
|
|
||||||
echo "Hyprland keybindings: ~/dotfiles/hypr/conf/keybindings.conf"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [[ $profile == *"Qtile"* ]]; then
|
|
||||||
if [ -f ~/dotfiles/qtile/conf/keyboard.py ]; then
|
|
||||||
echo "Qtile keyboard layout: ~/dotfiles/qtile/conf/keyboard.py"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo ""
|
|
||||||
if gum confirm "Do you want to restore the files now and use it on your new installation?" ;then
|
|
||||||
if [ -f ~/dotfiles/.bashrc ]; then
|
|
||||||
cp ~/dotfiles/.bashrc ~/dotfiles-versions/$version/
|
|
||||||
echo ".bashrc restored!"
|
|
||||||
fi
|
|
||||||
if [[ $profile == *"Hyprland"* ]]; then
|
|
||||||
if [ -f ~/dotfiles/hypr/conf/keyboard.conf ]; then
|
|
||||||
cp ~/dotfiles/hypr/conf/keyboard.conf ~/dotfiles-versions/$version/hypr/conf/
|
|
||||||
echo "Hyprland keyboard.conf restored!"
|
|
||||||
fi
|
|
||||||
if [ -f ~/dotfiles/hypr/conf/monitor.conf ]; then
|
|
||||||
cp ~/dotfiles/hypr/conf/monitor.conf ~/dotfiles-versions/$version/hypr/conf/
|
|
||||||
echo "Hyprland monitor.conf restored!"
|
|
||||||
fi
|
|
||||||
if [ -f ~/dotfiles/hypr/conf/keybindings.conf ]; then
|
|
||||||
cp ~/dotfiles/hypr/conf/keybindings.conf ~/dotfiles-versions/$version/hypr/conf/
|
|
||||||
echo "Hyprland keybindings.conf restored!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [[ $profile == *"Qtile"* ]]; then
|
|
||||||
if [ -f ~/dotfiles/qtile/conf/keyboard.py ]; then
|
|
||||||
cp ~/dotfiles/qtile/conf/keyboard.py ~/dotfiles-versions/$version/qtile/conf/
|
|
||||||
echo "Qtile keyboard.py restored!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
restored=1
|
|
||||||
elif [ $? -eq 130 ]; then
|
|
||||||
exit 130
|
|
||||||
else
|
|
||||||
echo "Restore skipped"
|
|
||||||
fi
|
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
Loading…
Reference in New Issue
Block a user