#!/bin/pwsh . "$PSScriptRoot/../../Scripts/KnownFolders.ps1"; . "$PSScriptRoot/../../Scripts/Context.ps1"; $null = New-Module { Import-Module "$env:ChocolateyInstall/helpers/chocolateyInstaller.psm1"; $path = "C:/tools/RetroArch-Win64"; $softwareName = "RetroArch"; function Backup-RetroArch([Context] $context) { Write-Host "Backing up RetroArch"; $context.Backup($path, $context.SoftwareArchive($softwareName), @("-i@`"$PSScriptRoot/include.txt`"")); } function Restore-RetroArch([Context] $context) { Write-Host "Restoring RetroArch"; Write-Information "Installing RetroArch"; choco install -y --ignore-checksums retroarch; Write-Information "Restoring files"; $context.Restore($context.SoftwareArchive($softwareName), $path); Write-Information "Adding cloud sync folders"; $context.AddNextcloudSync( "$path\saves", "/Saved Games/RetroArch/Saves"); $context.AddNextcloudSync( "$path\system", "/Saved Games/RetroArch/System"); Write-Information "Creating a Start Menu Icon"; Install-ChocolateyShortcut -ShortcutFilePath "$((Get-KnownFolder "Common Programs").Path)/RetroArch.lnk" -TargetPath ((Get-Item "$path\retroarch.exe").FullName); } }