Create a script for managing generic apps

This commit is contained in:
Manuel Thalmann 2023-09-27 12:32:04 +02:00
parent fe633e7b14
commit e3a12c0d47
2 changed files with 101 additions and 60 deletions

View file

@ -0,0 +1,97 @@
#!/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-GenericApps([Context] $context) {
Backup-Git $context;
Backup-PuTTY $context;
}
function Restore-GenericApps([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-PuTTY $context;
# Design
choco install -y `
nerd-fonts-CascadiaCode;
# Browsing
Install-Firefox $context;
. "$PSScriptRoot/../Software/MSEdgeRedirect/Install.ps1";
winget install --accept-source-agreements --accept-package-agreements `
-e --id Mozilla.Firefox.DeveloperEdition `
-e --id Mozilla.Firefox.Nightly `
-e --id Brave.Brave `
-e --id Brave.Brave.Beta `
-e --id Brave.Brave.Nightly;
$context.RemoveTaskbarItem("*Firefox*");
$context.RemoveDesktopIcon("*Brave*");
$context.RemoveTaskbarItem("*Brave*");
choco install -y `
7zip `
chocolateygui `
DefaultProgramsEditor `
bitwarden `
keepass `
procexp `
procmon;
winget install --accept-source-agreements --accept-package-agreements `
-e --id KDE.KDEConnect;
# Media
choco install -y k-litecodecpackmega;
# 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 `
gh `
github-desktop;
$context.RemoveDesktopIcon("GitHub*");
choco install -y `
python `
visualstudio2019-workload-vctools;
. "$PSScriptRoot/../Software/NVS/Install.ps1";
# 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 $_;
}
$context.RemoveDesktopIcon("*Microsoft Edge*");
}

View file

@ -1,5 +1,6 @@
#!/bin/pwsh #!/bin/pwsh
. "$PSScriptRoot/../Scripts/Context.ps1"; . "$PSScriptRoot/../Scripts/Context.ps1";
. "$PSScriptRoot/Generic.ps1";
. "$PSScriptRoot/../Scripts/SoftwarePackage.ps1"; . "$PSScriptRoot/../Scripts/SoftwarePackage.ps1";
. "$PSScriptRoot/../Software/Firefox/Install.ps1"; . "$PSScriptRoot/../Software/Firefox/Install.ps1";
. "$PSScriptRoot/../Software/git/Manage.ps1"; . "$PSScriptRoot/../Software/git/Manage.ps1";
@ -15,12 +16,11 @@
. "$PSScriptRoot/../Software/VisualStudio/Manage.ps1"; . "$PSScriptRoot/../Software/VisualStudio/Manage.ps1";
function Backup-PersonalApps([Context] $context) { function Backup-PersonalApps([Context] $context) {
Backup-Git $context; Backup-GenericApps $context;
Backup-LogitechGHUB $context; Backup-LogitechGHUB $context;
Backup-ManiaPlanet $context; Backup-ManiaPlanet $context;
Backup-Osu $context; Backup-Osu $context;
Backup-OsuLazer $context; Backup-OsuLazer $context;
Backup-PuTTY $context;
Backup-RetroArch $context; Backup-RetroArch $context;
Backup-reWASD $context; Backup-reWASD $context;
Backup-TmNations $context; Backup-TmNations $context;
@ -29,29 +29,17 @@ function Backup-PersonalApps([Context] $context) {
} }
function Restore-PersonalApps([Context] $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 # Backed up applications
Restore-Git $context;
Restore-LogitechGHUB $context; Restore-LogitechGHUB $context;
Restore-TmNations $context; Restore-TmNations $context;
Restore-TmUnited $context; Restore-TmUnited $context;
Restore-ManiaPlanet $context; Restore-ManiaPlanet $context;
Restore-Osu $context; Restore-Osu $context;
Restore-OsuLazer $context; Restore-OsuLazer $context;
Restore-PuTTY $context;
Restore-RetroArch $context; Restore-RetroArch $context;
Restore-reWASD $context; Restore-reWASD $context;
Restore-VisualStudio $context; Restore-VisualStudio $context;
# Design
choco install -y `
nerd-fonts-CascadiaCode;
# Social Media # Social Media
choco install -y ` choco install -y `
signal; signal;
@ -66,30 +54,10 @@ function Restore-PersonalApps([Context] $context) {
$context.RemoveDesktopIcon("*Element*"); $context.RemoveDesktopIcon("*Element*");
$context.RemoveDesktopIcon("*TeamSpeak*"); $context.RemoveDesktopIcon("*TeamSpeak*");
# Browsing
Install-Firefox $context;
. "$PSScriptRoot/../Software/MSEdgeRedirect/Install.ps1";
winget install --accept-source-agreements --accept-package-agreements `
-e --id Mozilla.Firefox.DeveloperEdition `
-e --id Mozilla.Firefox.Nightly `
-e --id Brave.Brave `
-e --id Brave.Brave.Beta `
-e --id Brave.Brave.Nightly;
$context.RemoveTaskbarItem("*Firefox*");
$context.RemoveDesktopIcon("*Brave*");
$context.RemoveTaskbarItem("*Brave*");
# Tools # 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"); 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 ` choco install -y `
7zip `
chocolateygui `
DefaultProgramsEditor `
bitwarden `
keepass `
gimp ` gimp `
gpu-z ` gpu-z `
windirstat ` windirstat `
@ -102,13 +70,10 @@ function Restore-PersonalApps([Context] $context) {
krita ` krita `
MetaX ` MetaX `
obs-studio ` obs-studio `
openvpn ` openvpn;
procexp `
procmon;
winget install --accept-source-agreements --accept-package-agreements ` winget install --accept-source-agreements --accept-package-agreements `
-e --id AntSoftware.AntRenamer ` -e --id AntSoftware.AntRenamer;
-e --id KDE.KDEConnect;
$context.RemoveDesktopIcon("GPU-Z*"); $context.RemoveDesktopIcon("GPU-Z*");
$context.RemoveDesktopIcon("WinDirStat*"); $context.RemoveDesktopIcon("WinDirStat*");
@ -126,17 +91,12 @@ function Restore-PersonalApps([Context] $context) {
# Media # Media
choco install -y ` choco install -y `
jellyfin-media-player ` jellyfin-media-player `
k-litecodecpackmega `
vlc; vlc;
winget install --accept-source-agreements --accept-package-agreements -e --id Ytmdesktop.Ytmdesktop; winget install --accept-source-agreements --accept-package-agreements -e --id Ytmdesktop.Ytmdesktop;
$context.RemoveDesktopIcon("YouTube Music*"); $context.RemoveDesktopIcon("YouTube Music*");
# Coding # 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 ` choco install -y --ignore-checksums `
ida-free; ida-free;
@ -145,13 +105,10 @@ function Restore-PersonalApps([Context] $context) {
choco install -y ` choco install -y `
HxD ` HxD `
docker-desktop ` docker-desktop `
gh `
github-desktop `
imhex ` imhex `
dotpeek; dotpeek;
$context.RemoveDesktopIcon("Docker*"); $context.RemoveDesktopIcon("Docker*");
$context.RemoveDesktopIcon("GitHub*");
choco install -y ` choco install -y `
python ` python `
@ -159,18 +116,6 @@ function Restore-PersonalApps([Context] $context) {
. "$PSScriptRoot/../Software/NVS/Install.ps1"; . "$PSScriptRoot/../Software/NVS/Install.ps1";
# 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 # Gaming
choco install -y goggalaxy; choco install -y goggalaxy;
@ -194,5 +139,4 @@ function Restore-PersonalApps([Context] $context) {
ppsspp; ppsspp;
$context.RemoveDesktopIcon("PPSSPP *32-Bit*"); $context.RemoveDesktopIcon("PPSSPP *32-Bit*");
$context.RemoveDesktopIcon("*Microsoft Edge*");
} }