-
Notifications
You must be signed in to change notification settings - Fork 0
/
install-windows_packages.ps1
37 lines (36 loc) · 1.33 KB
/
install-windows_packages.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 1. Make sure the Microsoft App Installer is installed:
# https://www.microsoft.com/en-us/p/app-installer/9nblggh4nns1
# 2. Edit the list of apps to install.
# 3. Run this script as administrator.
Write-Output "Installing Apps"
$apps = @(
@{name = "7zip.7zip" },
@{name = "Adobe.Acrobat.Reader.64-bit" },
@{name = "Bitwarden.Bitwarden" },
@{name = "BraveSoftware.BraveBrowser" },
@{name = "Discord.Discord" },
@{name = "Google.Chrome" },
@{name = "Microsoft.PowerShell" },
@{name = "Microsoft.PowerToys" },
@{name = "Microsoft.VisualStudioCode" },
@{name = "Microsoft.WindowsTerminal" },
@{name = "Mozilla.Firefox" },
@{name = "Obsidian.Obsidian" },
@{name = "OBSProject.OBSStudio" },
@{name = "OpenWhisperSystems.Signal" },
@{name = "SumatraPDF.SumatraPDF" },
@{name = "SyncTrayzor.SyncTrayzor" },
@{name = "Typora.Typora" },
@{name = "Zoom.Zoom" },
@{name = "Zotero.Zotero" }
);
Foreach ($app in $apps) {
$listApp = winget list --exact -q $app.name
if (![String]::Join("", $listApp).Contains($app.name)) {
Write-host "Installing: " $app.name
winget install -e -h --accept-source-agreements --accept-package-agreements --id $app.name
}
else {
Write-host "Skipping: " $app.name " (already installed)"
}
}