# WSL: Linux Dev Environment on Windows !!! info "Architectural Context" Detailed reference for WSL: Linux Dev Environment on Windows in the context of Developer Ecosystem. ## Table of Contents 1. [Architectural Foundations](#architectural-foundations) - [Kubernetes Tools](#kubernetes-tools) - [General Reference](#general-reference) 1. [Developer Experience](#developer-experience) - [Package Management](#package-management) - [Windows Tooling](#windows-tooling) 1. [Development Environment](#development-environment) - [Windows Subsystem for Linux](#windows-subsystem-for-linux) - [Docker Desktop](#docker-desktop) - [Docker Engine](#docker-engine) - [Kubernetes Desktop](#kubernetes-desktop) - [Resource Optimization](#resource-optimization) - [Terminal Emulators](#terminal-emulators) - [Ubuntu](#ubuntu) - [VS Code Integration](#vs-code-integration) - [WSL Installation](#wsl-installation) 1. [Local Developer Environment](#local-developer-environment) - [Version Management](#version-management) - [Multi-Language Runtimes](#multi-language-runtimes) 1. [Local Development](#local-development) - [Operating Systems](#operating-systems) - [WSL](#wsl) ## Architectural Foundations ### Kubernetes Tools #### General Reference - [Docker Desktop & WSL 2 – Backport Update](https://www.docker.com/blog/docker-desktop-wsl-2-backport-update) [COMMUNITY-TOOL] — A curated technical resource and architectural guide covering Docker Desktop & WSL 2 – Backport Update in the Kubernetes Tools ecosystem. - [pandorafms.com: Qué es, cómo instalar WSL2 y por qué es una gran noticia' para el sector TI](https://pandorafms.com/blog/es/wsl2) [COMMUNITY-TOOL] — A curated technical resource and architectural guide covering pandorafms.com: Qué es, cómo instalar WSL2 y por qué es una gran noticia' para el sector TI in the Kubernetes Tools ecosystem. - [techrepublic.com: Windows Subsystem for Linux 2: The GUI features developers' have been asking for](https://www.techrepublic.com/article/windows-subsystem-for-linux-2-the-gui-features-developers-have-been-asking-for) [COMMUNITY-TOOL] — A curated technical resource and architectural guide covering techrepublic.com: Windows Subsystem for Linux 2: The GUI features developers' have been asking for in the Kubernetes Tools ecosystem. - [klaushofrichter.medium.com: Using Windows Subsystem for Linux for Kubernetes](https://klaushofrichter.medium.com/using-windows-subsystem-for-linux-for-kubernetes-8bd1f5468531) [COMMUNITY-TOOL] — A curated technical resource and architectural guide covering klaushofrichter.medium.com: Using Windows Subsystem for Linux for Kubernetes in the Kubernetes Tools ecosystem. - [Microsoft launches Windows Terminal 1.0, unveils GPU support and Linux GUI apps in WSL](https://venturebeat.com/2020/05/19/microsoft-windows-terminal-wsl-gpu-support-linux-gui-apps) [COMMUNITY-TOOL] — A curated technical resource and architectural guide covering Microsoft launches Windows Terminal 1.0, unveils GPU support and Linux GUI apps in WSL in the Kubernetes Tools ecosystem. - [Microsoft debuts Windows Package Manager for your dev environment](https://venturebeat.com/2020/05/19/microsoft-windows-package-manager-powertoys) [COMMUNITY-TOOL] — A curated technical resource and architectural guide covering Microsoft debuts Windows Package Manager for your dev environment in the Kubernetes Tools ecosystem. ## Developer Experience ### Package Management #### Windows Tooling - **(2024)** [==Windows Package Manager CLI (aka winget)==](https://github.com/microsoft/winget-cli) ⭐ 26023 [C++ CONTENT] 🌟🌟🌟🌟🌟 [DE FACTO STANDARD] — The official open-source repository for winget-cli, Microsoft's Windows Package Manager. Standardizes command-line app deployment, installation, dependency discovery, and workspace updates. ## Development Environment ### Windows Subsystem for Linux #### Docker Desktop - **(2017)** [Setting Up Docker for Windows and WSL to Work Flawlessly](https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly) [N/A CONTENT] [GUIDE] [COMMUNITY-TOOL] [GUIDE] — A deep-dive guide addressing early integration issues between Docker for Windows and WSL. It provides concrete configuration fixes for port forwardings, shared volumes, and network bridge communication. These patterns are essential for maintaining stable local runtimes when orchestrating microservices across separate operating system environments. #### Docker Engine - **(2021)** [dev.to: Install Docker on Windows (WSL) without Docker Desktop 🌟](https://dev.to/bowmanjd/install-docker-on-windows-wsl-without-docker-desktop-34m9) [N/A CONTENT] [ADVANCED LEVEL] [GUIDE] [COMMUNITY-TOOL] [GUIDE] — This advanced manual provides step-by-step instructions on setting up Docker Engine directly within a WSL 2 Linux distribution, removing the reliance on Docker Desktop. This architecture reduces resource consumption and circumvents enterprise licensing fees associated with commercial GUI applications. It represents a highly customizable, lightweight development setup optimized for advanced cloud-native operations. #### Kubernetes Desktop - **(2020)** [kubernetes.io: WSL+Docker: Kubernetes on the Windows Desktop 🌟](https://kubernetes.io/blog/2020/05/21/wsl-docker-kubernetes-on-the-windows-desktop) [N/A CONTENT] [ADVANCED LEVEL] [GUIDE] [COMMUNITY-TOOL] [GUIDE] — An official Kubernetes community article focusing on the orchestration of a Kubernetes environment using WSL 2 and Docker Desktop. It contrasts WSL 2's native virtualization approach with older hypervisor methods, emphasizing lower memory footprints and rapid start times. This setup provides developers with a robust playground to evaluate Helm charts and microservices locally. #### Resource Optimization - **(2020)** [itnext.io: WSL2 Tips: Limit CPU/Memory When using Docker](https://itnext.io/wsl2-tips-limit-cpu-memory-when-using-docker-c022535faf6f) [N/A CONTENT] [GUIDE] [COMMUNITY-TOOL] [GUIDE] — This technical guide explains how to prevent resource exhaustion on Windows by configuring a custom `.wslconfig` file to limit WSL 2's CPU and memory allocations. Without these boundaries, WSL 2's virtual machine can consume vast amounts of host resources during intensive builds or high-volume container runs. Applying these adjustments guarantees system stability and responsive workflows on developer machines. #### Terminal Emulators - **(2020)** [Windows Terminal 1.0](https://devblogs.microsoft.com/commandline/windows-terminal-1-0) [N/A CONTENT] [DOCUMENTATION] [COMMUNITY-TOOL] — The GA release announcement for Windows Terminal 1.0, detailing its high-performance, GPU-accelerated rendering engine and multiple tab architecture. It enables seamless management of PowerShell, Command Prompt, and multiple WSL instances simultaneously. This application has become the industry standard interface for engineers executing cloud-native tooling on Windows machines. - **(2017)** [Using WSL and MobaXterm to Create a Linux Dev Environment on Windows](https://nickjanetakis.com/blog/using-wsl-and-mobaxterm-to-create-a-linux-dev-environment-on-windows) [N/A CONTENT] [GUIDE] [COMMUNITY-TOOL] [GUIDE] — This technical guide details the configuration of WSL alongside MobaXterm to establish a complete Linux development workstation on Windows. It demonstrates how MobaXterm's native X server facilitates seamless X11 forwarding, allowing users to run graphical Linux utilities directly. This configuration serves as a lightweight alternative to resource-heavy virtual machines, optimizing localized development environments. - **(2016)** [cmder 🌟](https://cmder.net) [N/A CONTENT] [LEGACY] — An introduction to Cmder, a highly popular portable console emulator for Windows built on ConEmu that provides built-in Git capabilities and alias configurations. While it served as the baseline console emulator for engineers seeking a bash-like experience, it is widely superseded by Windows Terminal 1.x. It remains a reliable fallback tool for legacy environments where Windows Terminal is not supported. #### Ubuntu - **(2020)** [Ubuntu on WSL 2 Is Generally Available 🌟](https://ubuntu.com/blog/ubuntu-on-wsl-2-is-generally-available) [N/A CONTENT] [DOCUMENTATION] [COMMUNITY-TOOL] — This release announcement covers the general availability of Ubuntu on WSL 2, bringing native Linux system call compatibility and dramatic performance gains. Leveraging Microsoft's customized Linux kernel, it provides an enterprise-ready environment for developing, compiling, and running deep-tech toolchains. It stands as a reliable, high-performance base for running local containers and deployment pipelines. #### VS Code Integration - **(2019)** [Take your Linux development experience in Windows to the next level with WSL and Visual Studio Code Remote](https://devblogs.microsoft.com/commandline/take-your-linux-development-experience-in-windows-to-the-next-level-with-wsl-and-visual-studio-code-remote) [N/A CONTENT] [GUIDE] [COMMUNITY-TOOL] [GUIDE] — This technical article describes the VS Code Remote-WSL architecture, which decouples the user interface from the backend runtime. By running VS Code extensions directly within WSL, it eliminates cross-OS filesystem execution overhead and path translation errors. This setup has become the industry benchmark for compiling, testing, and debugging Linux-targeted applications on Windows systems. #### WSL Installation - **(2021)** [bleepingcomputer.com: Windows 11 can now install WSL from the Microsoft' Store 🌟](https://www.bleepingcomputer.com/news/microsoft/windows-11-can-now-install-wsl-from-the-microsoft-store) [N/A CONTENT] [COMMUNITY-TOOL] — This technical review details Microsoft's strategic shift to deliver WSL as an application through the Microsoft Store on Windows 11. Decoupling WSL from core OS updates allows rapid feature and driver iterations without requiring full system reboots. It guarantees that development teams can access the latest filesystem speed improvements and driver updates immediately. - **(2020)** [Microsoft Makes it Easier to Install WSL on Windows 10 🌟](https://www.omgubuntu.co.uk/2020/06/microsoft-wsl-install-command) [N/A CONTENT] [COMMUNITY-TOOL] — An overview of Microsoft's streamlined WSL installation process, highlighting the creation of the unified `wsl --install` command. This enhancement automates feature enablement and default distribution retrieval, lowering the onboarding barrier for DevOps engineers. This simplification is highly beneficial for enterprise-wide developer environment standardization. - **(2020)** [Distro installation added to WSL --install in Windows 10 insiders preview build 20246](https://devblogs.microsoft.com/commandline/distro-installation-added-to-wsl-install-in-windows-10-insiders-preview-build-20246) [N/A CONTENT] [DOCUMENTATION] [COMMUNITY-TOOL] — This release overview highlights improvements to the `wsl --install` process in Windows Insider Build 20246, enabling customized distribution selection during initialization. These upgrades allow teams to script automated workspace setup processes without manual user interaction. This automated workflow is essential for building reproducible local development environments via code. ## Local Developer Environment ### Version Management #### Multi-Language Runtimes - **(2026)** [==ASDF 🌟==](https://asdf-vm.com) [SHELL CONTENT] 🌟🌟🌟🌟🌟 [DE FACTO STANDARD] — An extensible CLI runtime version manager that unifies environment configurations (Node.js, Ruby, Python, Elixir, Go, and more) under a single .tool-versions file. Successfully eliminates environment drift across development machines and CI runners via a robust plugin-driven architecture. ## Local Development ### Operating Systems #### WSL - **(2026)** [docs.microsoft.com: WSL - Windows Subsystem for Linux](https://learn.microsoft.com/en-us/windows/wsl) [DOCUMENTATION] [COMMUNITY-TOOL] — Official engineering documentation detailing Windows Subsystem for Linux (WSL). Enables native ELF64 execution on Windows, forming a vital platform for building local Kubernetes, Docker, and bash-heavy development pipelines directly inside Windows environments. - **(2026)** [9elements.com: Developing on Windows with WSL2](https://9elements.com/blog/developing-on-windows-with-wsl2) [COMMUNITY-TOOL] — A developer-focused guide optimizing local Windows workflows with WSL2. Provides performance instructions on using WSL2 backends alongside Docker Desktop, configuring VS Code remote-containers, and mitigating cross-file system read/write overhead. --- 💡 **Explore Related:** [Angular](./angular.md) | [Python](./python.md) | [Dom](./dom.md)