#!/bin/pwsh . "$PSScriptRoot/../Scripts/Context.ps1"; . "$PSScriptRoot/../Scripts/SoftwarePackage.ps1"; . "$PSScriptRoot/../Software/Firefox/Install.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) { # Device specific if ((Get-Command Install-PersonalDrivers -ErrorAction SilentlyContinue)) { Write-Information "Driver installation function was found. Starting installation"; Install-PersonalDrivers $context; } # Backed up applications 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; # Design choco install -y ` nerd-fonts-CascadiaCode; # Social Media choco install -y ` signal; choco install -y ` threema-desktop ` discord ` element-desktop ` teamspeak; $context.RemoveDesktopIcon("*Discord*"); $context.RemoveDesktopIcon("*Element*"); $context.RemoveDesktopIcon("*TeamSpeak*"); # Browsing Install-Firefox $context; choco install -y MSEdgeRedirect; winget install --accept-source-agreements --accept-package-agreements -e --id Brave.Brave; winget install --accept-source-agreements --accept-package-agreements -e --id Brave.Brave.Beta; winget install --accept-source-agreements --accept-package-agreements -e --id Brave.Brave.Nightly; $context.RemoveDesktopIcon("*Brave*"); $context.RemoveTaskbarItem("*Brave*"); # Tools Install-SoftwarePackage $context "https://github.com/mRemoteNG/mRemoteNG/releases/download/2023.03.03-v1.77.3-nb/mRemoteNG-Installer-1.77.3.nb-1784.msi" @("/Quiet"); choco install -y ` 7zip ` chocolateygui ` bitwarden ` keepass ` gimp ` gpu-z ` windirstat ` winmerge ` xmedia-recode ` hwmonitor ` qbittorrent ` imgburn ` inkscape ` krita ` obs-studio ` openvpn; $context.RemoveDesktopIcon("GPU-Z*"); $context.RemoveDesktopIcon("WinDirStat*"); $context.RemoveDesktopIcon("*HWMonitor*"); $context.RemoveDesktopIcon("ImgBurn*"); $context.RemoveDesktopIcon("Inkscape*"); $context.RemoveDesktopIcon("Krita*"); $context.RemoveDesktopIcon("mRemoteNG*"); winget install --accept-source-agreements --accept-package-agreements -e --id AppWork.JDownloader; $context.RemoveDesktopIcon("JDownloader*"); . "$PSScriptRoot/../Software/Ubiquiti UniFi Controller/Install.ps1" $context; # Media choco install -y k-litecodecpackmega; winget install --accept-source-agreements --accept-package-agreements -e --id Ytmdesktop.Ytmdesktop; $context.RemoveDesktopIcon("YouTube Music*"); # Coding choco install -y --params "/NoDesktopIcon" vscode vscode-insiders; choco install -y --params "/NoDesktopIcon /AssociateWithFiles" vscodium; winget install --scope machine --accept-source-agreements --accept-package-agreements -e --id VSCodium.VSCodium.Insiders --override '/VerySilent /MergeTasks="!runCode,quicklaunchicon,addcontextmenufiles,addcontextmenufolders,associatewithfiles,addtopath"'; choco install -y --ignore-checksums ` ida-free; $context.RemoveDesktopIcon("IDA *"); choco install -y ` HxD ` docker-desktop ` gh ` github-desktop ` imhex ` dotpeek; $context.RemoveDesktopIcon("Docker*"); $context.RemoveDesktopIcon("GitHub*"); choco install -y ` nvs ` python ` visualstudio2019-workload-vctools; refreshenv; nvs add latest; nvs link latest; # Terminal @($PROFILE, (powershell -c '$PROFILE')) | ForEach-Object { Get-Item "$(Split-Path -Parent $_)/profile.d/*Oh My Posh*"; } | ForEach-Object { $oldContent = Get-Content $_; $oldContent | ForEach-Object { $indicator = "oh-my-posh init"; $_ -replace $indicator,"$indicator --config ~/Nextcloud/.omp/manuel.omp.json"; } | Set-Content $_; } # Gaming choco install -y goggalaxy; choco install --ignore-checksums -y ` ubisoft-connect ` ea-app; choco install -y ` epicgameslauncher ` steam ` origin; $context.RemoveDesktopIcon("*Ubisoft Connect*"); $context.RemoveDesktopIcon("*Epic Games*"); $context.RemoveDesktopIcon("*Steam*"); $context.RemoveDesktopIcon("EA.*"); choco install -y rayman-controlpanel; # Emulation choco install -y ` ppsspp; $context.RemoveDesktopIcon("PPSSPP *32-Bit*"); $context.RemoveDesktopIcon("*Microsoft Edge*"); }