Updates
This commit is contained in:
parent
3f1ec6a90f
commit
dcadc82c44
@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
rsync -av --exclude-from=excludes.txt ../ ~/dotfiles/
|
@ -11,4 +11,4 @@ keyboard.conf
|
||||
keyboard.py
|
||||
animation.conf
|
||||
decoration.conf
|
||||
window.conf
|
||||
window.conf
|
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
|
||||
echo -e "${NONE}"
|
||||
echo "Preparing temporary folders for the installation."
|
||||
echo ""
|
||||
if [ ! -d ~/dotfiles-versions ]; then
|
||||
mkdir ~/dotfiles-versions
|
||||
echo "~/dotfiles-versions folder created."
|
||||
@ -23,11 +22,9 @@ if [ ! -d ~/dotfiles-versions/$version ]; then
|
||||
echo "~/dotfiles-versions/$version folder created."
|
||||
else
|
||||
echo "The folder ~/dotfiles-versions/$version already exists from previous installations."
|
||||
echo ""
|
||||
rm -fr ~/dotfiles-versions/$version
|
||||
mkdir ~/dotfiles-versions/$version
|
||||
echo "Clean build prepared for the installation."
|
||||
echo ""
|
||||
fi
|
||||
rsync -a --exclude-from=.install/excludes.txt . ~/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
|
||||
# ------------------------------------------------------
|
||||
|
||||
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
|
||||
|
||||
echo -e "${GREEN}"
|
||||
cat <<"EOF"
|
||||
____ _
|
||||
@ -16,59 +119,10 @@ echo -e "${NONE}"
|
||||
restored=0
|
||||
echo "The script will try to restore existing configurations."
|
||||
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 "The following configurations can be transferred into the new installation."
|
||||
if [ -f ~/dotfiles/.bashrc ]; then
|
||||
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
|
||||
|
||||
_showRestoreOptions
|
||||
|
||||
echo ""
|
||||
fi
|
Loading…
Reference in New Issue
Block a user