{"slug": "automate-the-setup-and-configuration-of-your-windows-development-environment", "title": "Automate the setup and configuration of your Windows development environment", "summary": "Microsoft published the WindowsDeveloperConfig repository, offering idempotent, CI-tested PowerShell setup scripts that configure a Windows development environment in one command via aka.ms/devconfig URLs. The standard and full setups install Windows Terminal, PowerShell 7, Git, GitHub CLI, GitHub Copilot CLI, VS Code, .NET SDK 10, Python 3.14 with uv, Node.js LTS with nvm, Oh My Posh and PowerToys, apply Windows settings, and set up WSL with Ubuntu, with the full option also enabling Developer Mode, Sudo and Remote Desktop. Separate single-command workloads cover WinUI 3, WinForms, WinAppCLI, .NET, Go, Rust and TypeScript, and an AI tooling path installs PyTorch for the GPU plus Ollama, llama.cpp or Foundry Local.", "body_md": "Opinionated setups for Windows dev boxes. Idempotent. CI-tested.\n\nSet up a new Windows dev box in minutes, not hours. Pick a setup, run one command, get back to building. Everything here is safe to re-run.\n\n| You want... | Go to | \n|---|---|\n| A full dev workstation: tools, Windows settings, WSL, and terminal. One command, one restart. | [Windows Dev Config](#%EF%B8%8F-windows-dev-config) | \n| A nicer WSL shell: zsh/bash, Starship, CLI tools, and a themed terminal profile. | [WSL Comfort](#-wsl-comfort) | \n| One language or toolchain. | [Workloads](#-workloads) | \n| Local AI: PyTorch for your GPU, plus Ollama, llama.cpp, or Foundry Local. | [AI tooling](#-ai-tooling) | \n\nInstalls dev tools, applies opinionated Windows settings, and sets up WSL + Ubuntu — restart included. Nothing to clone, nothing to install first.\n\nOpen any PowerShell window — elevated or not — and run:\n\n## **What you get**\n\n- **Dev tools:** Windows Terminal, PowerShell 7, Git, GitHub CLI, GitHub Copilot CLI, VS Code, .NET SDK 10, Python 3.14 + uv, Node.js LTS + nvm, Coreutils for Windows, Windows App CLI, Oh My Posh, and PowerToys.\n- **Terminal:** PowerShell 7 as the default profile, Oh My Posh in your prompt, Cascadia Mono NF as the default font, and a GitHub Copilot profile in the dropdown.\n- **Windows settings:** Dark theme, long paths, File Explorer defaults, Start/Search settings, and Do Not Disturb\n- **WSL:** WSL platform + Ubuntu, including the restart and the automatic resume afterwards.\n\n- **Everything from standard**\n- **Windows settings:** Developer Mode, Sudo, widgets off, and Edge policies, additional Start/Search/System Tray settings\n- **Remote Desktop:** Enabled and firewall settings set\n\n```\nirm https://aka.ms/devconfig/standard/setup.ps1 | iex\nirm https://aka.ms/devconfig/full/setup.ps1 | iex\n```\n\n**Heads up — it may restart your PC.** WSL needs virtualization turned on, so save your work first. Setup picks up where it left off after the reboot.\n\n⚠️ \n\nEvery tool and setting, how to undo them, and troubleshooting: [Windows Dev Config README](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/src/windows-dev-config/README.md).\n\n*Also known as Comfort Shell. A polished Windows + WSL shell setup — zsh/bash, Starship prompt, modern CLI tools, themed terminal.*\n\nOpen any PowerShell window and run:\n\n```\nirm https://aka.ms/devconfig/wsl-comfort/setup.ps1 | iex\n```\n\nInteractive by default — pick and choose components as it runs. For unattended installs, pass `-NonInteractive`:\n\n```\n& ([scriptblock]::Create((irm https://aka.ms/devconfig/wsl-comfort/setup.ps1))) -NonInteractive\n```\n\nNothing to clone: it downloads the signed scripts, verifies them, and installs WSL first if it's missing. Already have a clone? `.\\wsl-comfort\\install.ps1` works too. The Linux half (`comfort-shell-bootstrap.sh`) is standalone, so you can also copy it onto any Ubuntu host and run it directly.\n\n## **What you can pick**\n\n- Your choice of shell: **zsh** or**bash** .\n- Optional **Starship** prompt.\n- Optional modern CLI tools: `fzf` ,`rg` ,`fd` ,`bat` ,`eza` ,`zoxide` ,`jq` .\n- Optional clipboard and `open` shims (`pbcopy` ,`pbpaste` ,`open` ).\n- Optional **Homebrew** .\n- Optional Git defaults.\n- A themed **Windows Terminal** profile using Cascadia Code Nerd Font.\n\nFull details: [`wsl-comfort/readme.md`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/wsl-comfort/readme.md).\n\nJust want one toolchain? Each of these is a single command.\n\n| Workload | Run via IRM Powershell call | \n|---|---|\n| WinUI 3 | `irm https://aka.ms/devconfig/winui/setup.ps1 \\| iex` | \n| WinForms | `irm https://aka.ms/devconfig/winforms/setup.ps1 \\| iex` | \n| WinAppCLI | `irm https://aka.ms/devconfig/winappcli/setup.ps1 \\| iex` | \n| .NET | `irm https://aka.ms/devconfig/dotnet/setup.ps1 \\| iex` | \n| Go | `irm https://aka.ms/devconfig/go/setup.ps1 \\| iex` | \n| Rust | `irm https://aka.ms/devconfig/rust/setup.ps1 \\| iex` | \n\n| Workload | Run via Winget configure | \n|---|---|\n| TypeScript | `winget configure -f .\\Workloads\\typescript\\configuration.winget --accept-configuration-agreements --disable-interactivity` | \n| Java | `winget configure -f .\\Workloads\\java\\configuration.winget --accept-configuration-agreements --disable-interactivity` | \n| Python | `winget configure -f .\\Workloads\\python\\configuration.winget --accept-configuration-agreements --disable-interactivity` | \n| SQL | `winget configure -f .\\Workloads\\sql\\configuration.winget --accept-configuration-agreements --disable-interactivity` | \n| PowerShell | `winget configure -f .\\Workloads\\powershell\\configuration.winget --accept-configuration-agreements --disable-interactivity` | \n\nThe `winget configure` will soon move to one-line style. Currently, to run them from a clone of this repo. What each one installs: [Workloads](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/src/windows-dev-config/workloads.md).\n\nDetects your GPU, installs the matching PyTorch build (CUDA, ROCm, Intel XPU, or CPU), and proves it works. Add a local model runtime if you want one.\n\n| Workload | Run | \n|---|---|\n| Local AI (PyTorch for your hardware) | `irm https://aka.ms/devconfig/local-ai/setup.ps1 \\| iex` | \n| Local AI + Ollama | `irm https://aka.ms/devconfig/local-ai/ollama/setup.ps1 \\| iex` | \n| Local AI + llama.cpp | `irm https://aka.ms/devconfig/local-ai/llama.cpp/setup.ps1 \\| iex` | \n| Local AI + Foundry Local | `irm https://aka.ms/devconfig/local-ai/foundry/setup.ps1 \\| iex` | \n\nIndividual pieces (CUDA, ROCm, Intel AI, PyTorch, llama.cpp, Ollama, Foundry Local), hardware support, and options: [AI tooling workloads](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/src/windows-dev-config/ai-workloads.md).\n\n## **\"Unrecognized command: configure\"**\n\nRun `winget configure --enable`. If `winget configure` is still not recognized after that, [`Workloads/_common/assert-winget-configure.ps1`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/Workloads/_common/assert-winget-configure.ps1) tells you whether App Installer is too old, policy has disabled configuration, or something else needs fixing.\n\n## **`winget configure` fails with \"internal error\" / error code `-2146233079`**\n\n`winget configure` fails with \"internal error\" / error code `-2146233079`\nThe Visual C++ Redistributable is missing. Install it, then re-run:\n\n```\n# x64:\nwinget install Microsoft.VCRedist.2015+.x64\n\n# ARM64:\nwinget install Microsoft.VCRedist.2015+.arm64\n```\n\n[`Workloads/_common/enable-winget-configure.ps1`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/Workloads/_common/enable-winget-configure.ps1) installs it automatically as part of enabling `winget configure`.\n\n## **A workload says it succeeded but `python` / `node` / the tool isn't on PATH**\n\n`python` / `node` / the tool isn't on PATH\nOpen a new terminal, or run the matching `install.ps1` shim to refresh PATH in the current session.\n\n## **Windows Dev Config rebooted the machine and looks stuck**\n\nA scheduled task resumes the run about 30 seconds after you sign back in and finishes the WSL setup. Nothing after a couple of minutes? Run the one-liner again — it's safe to re-run and skips everything already done. More detail in [`windows-dev-config/README.md`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/src/windows-dev-config/README.md#troubleshooting).\n\n## **Comfort Shell bootstrap fails because WSL is missing**\n\nRun the [WSL Comfort one-liner](#-wsl-comfort) from PowerShell on the Windows side instead. It installs WSL first.\n\n## **WSL install fails with `wsl --install ... failed with exit code -1`**\n\n`wsl --install ... failed with exit code -1`\nWSL needs hardware virtualization available to the OS. Two common root causes:\n\n- \n**On bare metal:** virtualization (VT-x / AMD-V) is disabled in BIOS/UEFI. Reboot into firmware settings, enable it, save, and reboot back into Windows. The exact label varies by vendor — check your motherboard or laptop manufacturer's documentation if you can't find it.\n- \n**Inside a VM:** the host hasn't exposed nested virtualization to the guest. For a Hyper-V host, run this from an elevated PowerShell session**on the host** (with the guest VM powered off):\n\n```\nSet-VMProcessor -VMName <VM_NAME> -ExposeVirtualizationExtensions $true\n```\n\n Other hypervisors have their own equivalent settings — check your hypervisor's documentation.\n\nHit a bug, a stale doc, or a setup that fails on your machine? Open an issue at [github.com/microsoft/WindowsDeveloperConfig/issues](https://github.com/microsoft/WindowsDeveloperConfig/issues). Include your Windows build (`winver`), the exact command you ran, and the failing output. This helps us triage faster.\n\nContributions of all kinds are welcome: bug reports, doc fixes, new workloads, voice-and-tone tweaks. Start with [`CONTRIBUTING.md`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/CONTRIBUTING.md), then read [`src/docs/development.md`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/src/docs/development.md) for the CI matrix, the \"how to add a language\" walkthrough, and how the sign pipeline works.\n\n**Note on the repo layout:** the [`src/`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/src) tree is the source of truth. The top-level `windows-dev-config/`, `Workloads/`, and `wsl-comfort/` folders are Authenticode-signed release copies regenerated by the sign pipeline, so please don't edit them directly. Full details in [`src/docs/development.md`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/src/docs/development.md#repo-layout-signed-vs-source).\n\nThe single source of truth for every flow (paths, build/run commands, ids, language metadata) is [`src/manifest.yml`](https://github.com/microsoft/WindowsDeveloperConfig/blob/main/src/manifest.yml). The Command Palette extension, the CI harness, and the per-flow shims all read from it, so keep it in sync when you add or rename a flow.", "url": "https://wpnews.pro/news/automate-the-setup-and-configuration-of-your-windows-development-environment", "canonical_source": "https://github.com/microsoft/WindowsDeveloperConfig/", "published_at": "2026-10-31 19:43:33+00:00", "updated_at": "2026-10-31 19:51:14.910625+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["Microsoft", "WindowsDeveloperConfig", "Windows Terminal", "PowerShell 7", "GitHub Copilot CLI", "WSL", "Ollama", "llama.cpp"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/automate-the-setup-and-configuration-of-your-windows-development-environment", "markdown": "https://wpnews.pro/news/automate-the-setup-and-configuration-of-your-windows-development-environment.md", "text": "https://wpnews.pro/news/automate-the-setup-and-configuration-of-your-windows-development-environment.txt", "jsonld": "https://wpnews.pro/news/automate-the-setup-and-configuration-of-your-windows-development-environment.jsonld"}}