#!/bin/bash
source "$HOME/.config/EmuDeck/backend/functions/all.sh"
SAVESYNC_toolName="EmuDeck SaveSync"
SAVESYNC_toolType="AppImage"
SAVESYNC_toolPath="$emusFolder/EmuDeck_SaveSync.AppImage"
SAVESYNC_systemd_path="$HOME/.config/systemd/user"
SAVESYNC_install(){
text="`printf " Have your login details ready!\n\nA new browser windows will open for your cloud provider.\nMake sure you have your cretendials ready because you only have 20 seconds to enter them. \n\n you can always reconfigure SaveSync in the future )"`"
zenity --info \
--title="EmuDeck" \
--width="450" \
--text="${text}" 2>/dev/null
rm "$SAVESYNC_toolPath"
curl -L "$(getReleaseURLGH "EmuDeck/savesync" "AppImage")" --output "$SAVESYNC_toolPath"
chmod +x "$SAVESYNC_toolPath"
}
#$1 = gdrive,dropbox,onedrive,box,nextcloud
SAVESYNC_setup(){
local cloudProvider=$1
if [[ -z "$cloudProvider" ]]; then
echo "no cloud provider selected"
else
echo "cloud provider: $cloudProvider"
systemctl --user stop emudeck_savesync.service
mv "${toolsPath}/savesync/config.yml" "${toolsPath}/savesync/config.yml.bak"
mv "$HOME/.config/rclone/rclone.conf" "$HOME/.config/rclone/rclone.conf.bak"
"$SAVESYNC_toolPath" "$emulationPath" --setup "$cloudProvider"
echo "Creating service, please wait"
sleep 20
SAVESYNC_createService
fi
}
SAVESYNC_createService(){
echo "Creating SaveSync service"
systemctl --user stop emudeck_savesync.service
mkdir -p "$SAVESYNC_systemd_path"
echo \
"[Unit]
Description=Emudeck SaveSync service
[Service]
Type=simple
Restart=always
RestartSec=1
ExecStart=$SAVESYNC_toolPath --sync $emulationPath
[Install]
WantedBy=default.target" > "$SAVESYNC_systemd_path/emudeck_savesync.service"
chmod +x "$SAVESYNC_systemd_path/emudeck_savesync.service"
echo "Setting SaveSync service to start on boot"
systemctl --user enable emudeck_savesync.service
echo "Starting SaveSync Service. First run may take a while."
systemctl --user start emudeck_savesync.service
rm -rf $HOME/Desktop/EmuDeckSaveSync.desktop &> /dev/null
zenity --info --width=400 --title="EmuDeck" --text="SaveSync configured!"
}
syncProvider=$(cat "$HOME/.config/EmuDeck/.cloudprovider")
if [[ -n "$syncProvider" ]]; then
SAVESYNC_install
SAVESYNC_setup "$syncProvider"
fi