EmuDeck/functions/ToolScripts/emuDeckSaveSync.sh
2022-10-07 00:20:43 -04:00

64 lines
1.9 KiB
Bash

#!/bin/bash
SAVESYNC_toolName="EmuDeck SaveSync"
SAVESYNC_toolType="AppImage"
SAVESYNC_toolPath="$HOME/Applications/EmuDeck_SaveSync.AppImage"
rclone_toolPath="$HOME/Applications/rclone/rclone"
SAVESYNC_systemd_path="$HOME/.config/systemd/user"
#SAVESYNC_Shortcutlocation="$HOME/Desktop/EmuDeckBinUpdate.desktop"
SAVESYNC_install(){
rm "$SAVESYNC_toolPath"
curl -L "$(getReleaseURLGH "EmuDeck/savesync" "AppImage")" --output "$SAVESYNC_toolPath.temp" && mv "$SAVESYNC_toolPath.temp" "$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 "pausing before creating service"
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
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
Restart=always
RestartSec=1
ExecStart=$rclone_toolPath --copy $savesPath
[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
}