Dev Configs for Windows: From fresh install to IDE in one command

With Microsoft's new Dev Configs, a Windows installation becomes a ready-to-use developer workstation with a single command – including WSL and Ubuntu.

listen Print view
A gray icon for a file with a lightning bolt and three lines on a background of many blue Windows logos.

(Image: Microsoft / Moritz Förster / KI / iX)

4 min. read
Contents

With Dev Configs for Windows, Microsoft has released an open-source collection of configurations that automate the setup of developer workstations on Windows. The configurations are based on the WinGet feature winget configure and are intended to transform a freshly installed computer into a ready-to-use development environment with a single command. They are declaratively structured, undergo automated tests, and, according to Microsoft, can be safely executed multiple times.

The project targets developers who want to set up their work environment reproducibly – on a new notebook, a test machine, or in teams with standardized setups. Instead of maintaining their installation scripts, the configurations describe the desired end state of a system. Microsoft distinguishes three use cases: a complete developer workstation for Windows, an extended shell environment for WSL, and individual language and framework workloads.

The most comprehensive variant is called “Windows Dev Config.” It installs typical developer tools, including PowerShell 7, Git, GitHub CLI, Visual Studio Code, .NET SDK 10, Python 3.13 with the package manager uv, Node.js, Oh My Posh, and PowerToys. Additionally, the configuration adjusts Windows itself and enables features like developer mode, long file paths, and dark mode. File Explorer, Start Menu, Search, and Edge also receive new default settings.

Microsoft places a strong emphasis on the Windows Subsystem for Linux (WSL). The configuration installs WSL along with Ubuntu and automatically bridges the necessary restart. It uses the Windows mechanism RunOnce, which executes a task once after the next login. Users do not need to intervene after the reboot; the installation proceeds automatically.

Videos by heise

Furthermore, Microsoft offers “WSL Comfort,” a configuration specifically for working with Linux on Windows. It can be run interactively or unattended with the -NonInteractive switch and sets up both the Windows and Linux sides. Users can choose between Bash and Zsh and optionally add the prompt generator Starship, Homebrew, or various modern command-line tools. The Linux script comfort-shell-bootstrap.sh also runs independently on any Ubuntu host.

These tools include rg (ripgrep) for fast full-text searches in source code, bat as an alternative to cat with syntax highlighting, zoxide for intelligent directory navigation, and fzf, fd, eza, and jq. On the Windows side, the configuration sets up a customized profile for Windows Terminal and the Cascadia Code Nerd Font. Nerd Fonts contain additional symbols that modern shell prompts use, for example, for Git branches or status indicators.

Those who do not need a complete development environment can install individual workloads instead. Microsoft mentions TypeScript, Python, .NET, Go, Java, Rust, PHP, WinForms, and WinUI 3, among others. Each of these configurations comes with its configuration.winget file and a helper script install.ps1 that initiates the installation and updates the PATH variable in the current shell session.

Technically, Dev Configs build on WinGet's existing configuration features. The files declaratively describe packages, system settings, and post-installation steps. Since they define the target state rather than individual steps, setups can be reliably repeated and transferred to other machines. An up-to-date version of the App Installer is required; if winget configure is not available, the feature can be enabled once with winget configure --enable.

An extension for the PowerToys Command Palette has already been announced. It is intended to offer the configuration workflows defined in the project directly as selectable entries, so users no longer have to specify the respective configuration files manually.

With Dev Configs, Microsoft is pursuing an approach reminiscent of dotfile collections, Infrastructure as Code, and automated developer setups on Linux or macOS. Further details and the complete list of supported toolchains can be found in the documentation on Microsoft Learn and in the project's GitHub repository.

(fo)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.