Introducing Dev Home
From the team that brought you Windows Terminal, Windows Subsystem for Linux, PowerToys and Windows Package Manager (WinGet), we are excited to introduce Dev Home, a new open-source experience in Windows created just for developers. Dev Home is a centralized location for setting up your machine, monitoring your system information, and managing your projects.
Dev Home is part of Windows and will update through the Microsoft Store and GitHub with continuous releases to add new features and improve quality. Today, you can install Dev Home (Preview) from the Microsoft Store or from the GitHub releases page.
Dev Home at its core
Dev Home is designed with customization and configurability in mind. It’s built as an open-source tool with an extension model to allow you to create your own customized Dev Home experience. Our team is striving to make Dev Home a great place for all developers and its extensibility can help make it tailored just for you.
Extensions can provide their own experiences within the Dev Home and also provide widgets for the dashboard. If you’d like to learn how to create an extension for Dev Home, check out our docs. In the future, we’re looking to create a marketplace within Dev Home, to make finding and installing extensions that much easier. We welcome everyone and want to collaborate on how we can make Dev Home the best location for everyone.
Dev Home GitHub Extension
Dev Home comes with one extension installed by default: the Dev Home GitHub extension. This extension is also open source and has its own GitHub repo. The Dev Home GitHub extension connects your GitHub account to Dev Home to provide GitHub integration right onto your desktop. This extension provides GitHub widgets for the Dev Home dashboard and repo suggestions for the machine configuration tool.
To further enhance the extension ecosystem, we’re actively working on creating an Azure DevOps (ADO) extension to provide similar functionality to the GitHub extension and give you even more control over your ADO projects. We are also pairing with Team Xbox to bring the public Microsoft Game Development Kit (GDK) to Dev Home to help you find many of the tools you need to set up a game development environment.
Machine configuration using Dev Home
One of the biggest pain points we’ve heard from developers is the time and hassle it takes to set up a dev environment to code for an existing project. We’ve included a new environment configuration tool to help make it easy to set up your local machine as well as a remote environment like a Dev Box or GitHub Codespaces.
One way to get set up using Dev Home is through the end-to-end setup flow. This flow allows you to choose repositories to clone from your GitHub account or you can simply enter a URL. At this point in the flow, you can also choose to create a Dev Drive to clone your repositories to. After choosing repositories to clone, you can select applications to install. This page is powered by WinGet and acts as a GUI to help you install all the packages you need. Once you’ve chosen your repos and applications to install, you can click set up, and let Dev Home handle the rest for getting your machine ready for development.
Another option you can use for setting up your machine is WinGet’s new DSC configuration YAML files. These files can install applications, configure them, and more to help you achieve the desired state for your development environment. Dev Home provides the option to run these configuration files and see their output all within the setup tool. To learn more about WinGet configuration files, check out this blog post.
Dashboard and widgets
Dev Home includes a customizable dashboard with developer-focused widgets built using the Windows widget platform. Widgets we’ve shipped with this first release of Dev Home include system resource widgets with information based on your CPU, GPU, network, and memory usage. Additionally, the Dev Home GitHub extension provides GitHub widgets to display issue and pull request information based on a repository, plus issues and pull requests you’ve been mentioned in, assigned to, or have your review requested on. If you have more widgets you’d like to see, please file a feature request on GitHub!
Creating Dev Drives using Dev Home
Dev Home makes it easy to set up Dev Drives when using the machine configuration tool. Dev Drives are a new storage volume option we’ve released to the Windows Insider Program for Microsoft Build. These drives use the Resilient File System, or ReFS, and they also run performance mode for Microsoft Defender Antivirus. These modifications allow for up to a 30% performance improvement in file intensive scenarios like builds and package manager activities.
Dev Home and Windows
We are working to ensure Dev Home and Windows are integrated together seamlessly. Using the Windows Insiders Program, we will be exploring different ways to bring you the Dev Home experience. As part of Windows OOBE (out of box experience), you can now select “Development” as an option for how you plan to use your device. We will experiment with different experiences such as recommending Dev Home in Start to help you finish getting your machine into a code-ready state. To learn more about Dev Drive, check out this blog post!
Let’s enjoy the ride
We are so excited to have you on this journey with us to make Dev Home a great place for developers. If you want to learn more about Dev Home, feel free to check out our docs site. If you find any bugs or have any feature requests, feel free to file an issue on GitHub. If you have any questions or want to provide feedback, feel free to reach out to Kayla (@cinnamon_msft) on Twitter. We hope you enjoy our very first release of Dev Home and we look forward to seeing you at our next one!