A fully automated, script-driven environment setup for Windows. Built with PowerShell + Batch for rapid system configuration, software installation, and developer workspace preparation.
Each script is separated by role for easy maintenance:
setup.bat
— Main launcher with admin check and ordered executionprogram_groups/
— Installs specific apps or groups of toolssystem_settings/
— System-level tweaks (taskbar, hidden files, etc.)setup_finishers/
— Final steps like WSL update or Git setupcommon/
— Shared utilities (logging, URL opening, functions)config.ps1
— Central configuration file
The script self-restarts as administrator if needed.
Detects and installs Chocolatey and Scoop automatically if missing.
⚠️ You may need to relaunch the script manually after first installing Chocolatey and Scoop.
Installs essentials (configured in config.ps1
):
- VS Code
- Git
- NVM + Node.js LTS
- Docker Desktop
- PowerToys
- 7-Zip
- FiraCode
- Chrome, VLC, Telegram, and more
Built-in helper functions:
Install-AndLaunch
— Downloads.exe
, installs silently, optional link afterInstall-ZipExecutableWithUrl
— Downloads ZIP, extracts, launches portable app, optional startup shortcut
WSL --update
for Docker compatibility- Global Git config
- Node.js LTS setup via NVM
- Taskbar behavior (show hidden files, extensions, protected OS files)
- GameBar and Bing search disabled
- PowerToys configuration
Control extras in one file:
$GitUserName = "Dmitry Galaktionov"
$GitUserEmail = "[email protected]"
#### needed for AI-powered package discovery
$openai_api_key = ""
$Tools = @("notepadplusplus", "git", "vscode", "telegram", "7zip", "docker-desktop", ...)
Toggle features or extend the tools list with simple variables.
New feature: Search across Chocolatey, Winget, and Scoop with AI assistance.
- ✅ Describe apps you want in English
- ✅ AI extracts program names
- ✅ Script searches all major Windows package managers
- ✅ Interactive selector lets you pick and save packages
- ✅ Supports mixed sources (e.g., Chocolatey + Scoop)
Built-in uninstall script:
- Detects installed apps across Chocolatey, Winget, and Scoop
- Compact, sorted list shown in console
- Enter names to uninstall
- Script loops until you exit
- Cleans up system without guesswork
git clone https://github.com/your-repo/windows-dev-setup.git
cd windows-dev-setup
Setup system:
setup.bat
Discover and install more tools:
search.bat
Uninstall apps:
uninstall.bat
Follow logs and prompts.
- Fork for personal setups
- Extend with your favorite tools or configs
- Ideal for fresh Windows installs or automated reconfiguration
Built by Dimas for personal productivity. Fork freely and adapt for your needs.
- Add more system tweaks (e.g., registry changes)
- Improve main setup script with expanding package manager support