Skip to content

Galionix/windows-dev-setup

Repository files navigation

🛠️ Windows Auto Setup Script

Demonstration

A fully automated, script-driven environment setup for Windows. Built with PowerShell + Batch for rapid system configuration, software installation, and developer workspace preparation.


📦 Features

1. 🧙‍♂️ Modular, Clean Structure

Each script is separated by role for easy maintenance:

  • setup.bat — Main launcher with admin check and ordered execution
  • program_groups/ — Installs specific apps or groups of tools
  • system_settings/ — System-level tweaks (taskbar, hidden files, etc.)
  • setup_finishers/ — Final steps like WSL update or Git setup
  • common/ — Shared utilities (logging, URL opening, functions)
  • config.ps1 — Central configuration file

2. 🛡️ Automatic Admin Elevation

The script self-restarts as administrator if needed.

3. ☁️ Chocolatey Bootstrap

Detects and installs Chocolatey and Scoop automatically if missing.

⚠️ You may need to relaunch the script manually after first installing Chocolatey and Scoop.


🛠️ Software Installation

4. 💻 Core Dev Tools Installer

Installs essentials (configured in config.ps1):

  • VS Code
  • Git
  • NVM + Node.js LTS
  • Docker Desktop
  • PowerToys
  • 7-Zip
  • FiraCode
  • Chrome, VLC, Telegram, and more

5. 🌐 Custom Silent Installers

Built-in helper functions:

  • Install-AndLaunch — Downloads .exe, installs silently, optional link after
  • Install-ZipExecutableWithUrl — Downloads ZIP, extracts, launches portable app, optional startup shortcut

6. 🏑 System Finalizers

  • WSL --update for Docker compatibility
  • Global Git config
  • Node.js LTS setup via NVM

🔧 Windows Tweaks

  • Taskbar behavior (show hidden files, extensions, protected OS files)
  • GameBar and Bing search disabled
  • PowerToys configuration

⚙️ Central Config (config.ps1)

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.


🔎 AI-Powered Package Discovery

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)

❌ Easy App Removal

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

🏑 Quick Start

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.


🧙‍♂️ Recommended Use

  • 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.

To-Do

  • Add more system tweaks (e.g., registry changes)
  • Improve main setup script with expanding package manager support