commit 5bccacfebfc7f11f71fabef4541948c519ff67ea Author: Tomáš Batelka Date: Fri Nov 8 13:22:01 2024 +0100 Initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..786d4d9 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# WinSetup script + +Available package collections: +- `classic` - Customers and family collection +- `workstation` - My collection +- `gaming` - Gaming collection +- `nvidia` - Nvidia GPU collection + +## Download and run script +```powershell +winget install Git.Git Microsoft.PowerShell +git clone https://git.vofy.cz/winsetup.git +.\winsetup\winsetup.ps1 +``` diff --git a/setup.ps1 b/setup.ps1 new file mode 100644 index 0000000..eadbe25 --- /dev/null +++ b/setup.ps1 @@ -0,0 +1,44 @@ +param ( + [string[]]$collections +) + +$packages = @{ + "common" = @( + 'TheDocumentFoundation.LibreOffice' + 'Mozilla.Firefox' + 'Microsoft.PowerShell' + 'VideoLAN.VLC' + 'Microsoft.WindowsTerminal' + 'RustDesk.RustDesk' + '7zip.7zip' + ) + "classic" = @('Google.Chrome') + "workstation" = @( + 'FreeCAD.FreeCAD' + 'Git.Git' + 'gerardog.gsudo' + 'Helix.Helix' + 'Chocolatey.Chocolatey' + 'KiCAD.KiCAD' + 'Prusa3D.PrusaSlicer' + 'Microsoft.VisualStudioCode' + 'MartiCliment.UniGetUI' + ) + "gaming" = @('Valve.Steam') + "nvidia" = @('Nvidia.GeForceExperience') +} + +$args += $packages["common"] + +foreach ($collection in $collections) { + if ($packages.ContainsKey($collection)) { + $args += $packages[$collection] + } else { + Write-Host "Unknown collection: $collection" -ForegroundColor Yellow + } +} + +Write-Host "Installed collections: $collections" -ForegroundColor Cyan +Write-Host "Installed packages: $args" -ForegroundColor Green + +winget install @args