Automated Windows application installation using winget with multiple profiles
Open PowerShell and run one of these commands:
HOME only (family computers - essential apps):
iwr -useb https://raw.githubusercontent.com/alejakun/dotfiles-win/master/bootstrap.ps1 | iexHOME + PERSONAL (your personal laptop):
iwr -useb https://raw.githubusercontent.com/alejakun/dotfiles-win/master/bootstrap-personal.ps1 | iexHOME + DEV (development workstation):
iwr -useb https://raw.githubusercontent.com/alejakun/dotfiles-win/master/bootstrap-dev.ps1 | iexHOME + INFRA (infrastructure workstation):
iwr -useb https://raw.githubusercontent.com/alejakun/dotfiles-win/master/bootstrap-infra.ps1 | iexFULL (everything - home + personal + dev + infra):
iwr -useb https://raw.githubusercontent.com/alejakun/dotfiles-win/master/bootstrap-full.ps1 | iexNote: All profiles except HOME automatically install the HOME profile first.
Purpose: Essential applications for family computers
Includes:
- Git, GitHub CLI, VSCode
- Browsers (Chrome, Firefox)
- 7-Zip, Dropbox
- Bitwarden (password manager)
- Rambox, Zoom
- Doxie Scanner
- TeamViewer, AnyDesk
- Adobe Acrobat Reader
- Google Earth Pro
Purpose: Personal productivity tools
Includes:
- Windows Terminal
- PowerToys
- Microsoft Teams
- Krisp.ai (noise cancellation)
- ShareX (screenshots)
- VLC Media Player
- Google Drive Desktop
- Tailscale (VPN mesh network)
Purpose: Development tools for frequent use
Includes:
- Claude Code (AI assistant)
- Python 3.12
- Sublime Text 4
- Notepad++
- Google Cloud SDK (gcloud, bq, gsutil)
- AWS CLI
Purpose: Infrastructure & virtualization (resource-intensive)
Includes:
- DBeaver (database tool)
- Docker Desktop
- VMware Workstation Pro
- Vagrant
Note: Ansible not available via winget. Install via WSL or pip.
Purpose: Everything combined (home + personal + dev + infra)
See Quick Start above.
git clone https://github.com/alejakun/dotfiles-win.git
cd dotfiles-win
.\install.ps1 -Profile homeFor your personal workstation:
.\install.ps1 -Profile home
.\install.ps1 -Profile personal
.\install.ps1 -Profile dev.\install.ps1 -Profile personal -DryRun.\install.ps1 -Profile dev -ShowCommandsThis displays individual winget install commands you can copy/paste.
.\install.ps1 -Help- Windows 10 (version 1809+) or Windows 11
- winget (Windows Package Manager) - Pre-installed on Windows 11
- PowerShell 5.0+ - Pre-installed on modern Windows
winget --versionIf not installed, get it from Microsoft Store.
-
Find the package ID:
winget search "App Name" -
Add to appropriate profile file (
winget/packages-home.txt,packages-personal.txt, etc.):# My additions Notepad++.Notepad++ VideoLAN.VLC -
Run installer again
Comment out or delete lines in package files:
# Mozilla.Firefox # Don't install FirefoxSolution:
- Install App Installer from Microsoft Store
- Restart PowerShell
- Verify:
winget --version
Solution:
- Run PowerShell as Administrator
- Right-click Start β Windows Terminal (Admin)
Solution:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser-
Check if package exists:
winget search "Package Name" -
Update winget sources:
winget source update
-
Try manual installation: See MANUAL_INSTALL.md
Some applications add commands to PATH. To use them in terminals:
- New PowerShell/Terminal: Works immediately after installation
- VSCode: Requires full application restart (not just terminal reload)
- Existing terminals: Must be restarted to recognize new PATH
Example:
After installing Claude Code via winget:
- Close VSCode completely (not just the terminal)
- Reopen VSCode
- Now
claudecommand will work in integrated terminal
Quick test:
# Restart terminal/VSCode, then:
claude --version
gcloud --version
aws --versiondotfiles-win/
βββ bootstrap.ps1 # Remote installation script
βββ install.ps1 # Main installation script
βββ winget/
β βββ packages-home.txt # Home profile (default)
β βββ packages-personal.txt # Personal productivity
β βββ packages-dev.txt # Development tools
β βββ packages-infra.txt # Infrastructure/virtualization
β βββ packages-full.txt # All profiles combined
βββ MANUAL_INSTALL.md # Manual installation guide
βββ README.md # This file
winget upgrade --allwinget list --source wingetwinget uninstall --id PackageIdMIT License - See LICENSE file for details
Last updated: 2025-10-21