#!/bin/pwsh
. "$PSScriptRoot/../Scripts/Context.ps1";
. "$PSScriptRoot/../Software/git/Manage.ps1";
. "$PSScriptRoot/../Software/LGHub/Manage.ps1";
. "$PSScriptRoot/../Software/ManiaPlanet/Manage.ps1";
. "$PSScriptRoot/../Software/osu!/Manage.ps1";
. "$PSScriptRoot/../Software/osu!lazer/Manage.ps1";
. "$PSScriptRoot/../Software/PuTTY/Manage.ps1";
. "$PSScriptRoot/../Software/RetroArch/Manage.ps1";
. "$PSScriptRoot/../Software/reWASD/Manage.ps1";
. "$PSScriptRoot/../Software/TrackMania Nations Forever/Manage.ps1";
. "$PSScriptRoot/../Software/TrackMania United Forever/Manage.ps1";
. "$PSScriptRoot/../Software/VisualStudio/Manage.ps1";

function Backup-PersonalApps([Context] $context) {
    Backup-Git $context;
    Backup-LogitechGHUB $context;
    Backup-ManiaPlanet $context;
    Backup-Osu $context;
    Backup-OsuLazer $context;
    Backup-PuTTY $context;
    Backup-RetroArch $context;
    Backup-reWASD $context;
    Backup-TmNations $context;
    Backup-TmUnited $context;
    Backup-VisualStudio $context;
}

function Restore-PersonalApps([Context] $context) {
    Restore-Git $context;
    Restore-LogitechGHUB $context;
    Restore-TmNations $context;
    Restore-TmUnited $context;
    Restore-ManiaPlanet $context;
    Restore-Osu $context;
    Restore-OsuLazer $context;
    Restore-PuTTY $context;
    Restore-RetroArch $context;
    Restore-reWASD $context;
    Restore-VisualStudio $context;

    choco install -y --params "/NoDesktopIcon" vscode vscode-insiders;
    choco install -y --params "/NoDesktopIcon /AssociateWithFiles" vscodium;
    winget install --accept-source-agreements --accept-package-agreements -e --id VSCodium.VSCodium.Insiders --override '/VerySilent /MergeTasks="!runCode,quicklaunchicon,addcontextmenufiles,addcontextmenufolders,associatewithfiles,addtopath"';
    choco install -y epicgameslauncher steam goggalaxy;
}