Dev Home is a new app from Microsoft that helps Windows developers manage their development environment, tools, projects, and GitHub activity. It is a must-have tool for any Windows developer, as it can save time and effort, allowing developers to focus on writing code. Dev Home also includes a variety of widgets that can be used to track progress and identify potential problems early on.

In this article, we will show you how to install, set up, and use the Dev Home app to get the most out of your development workflow.

Why Use Dev Home?

Dev Home is a powerful new tool for Windows developers that can help you streamline your workflows and get started on new projects quickly and easily. Dev Home is packed with essential features, including enhanced GitHub integration, customizable dashboard widgets, the powerful Dev Drive, and a trove of other developer tools.

Dev Home frees developers from the tedious task of ensuring that a project is correctly configured, freeing them from the hassles of package and dependency issues.

Here are just a few of the benefits of using Dev Home:

  • Quick project setup: One of the best advantages of Dev Home is its seamless project setup capabilities. With just a few clicks, you can set up a new project using an existing WinGet configuration file, clone a Git repository, install all the necessary dependencies, and configure your environment.
  • Easy GitHub setup: Dev Home integrates seamlessly with your GitHub account. You can use Dev Home to manage your codebases, view pull requests and issues, SSH keys, and configure cloud coding environments like GitHub Codespaces and Microsoft DevBox.
  • The Dev Drive file system: Dev Drive is a dedicated storage space that's tailored for developers. Using the Resilient File System (ReFS), Dev Drive improves performance and security for managing large directories and codebases.
  • Convenient application installation: Dev Home makes it easy to discover and install new software applications. You can install apps one at a time or let Dev Home handle multiple installations while you take a break.
  • End-to-end setup: Dev Home's end-to-end setup feature can help you set up your development environment from scratch, including installing applications, cloning repositories, and configuring all the necessary settings.

In addition to these benefits, Dev Home also offers a number of other features that can help you be more productive, such as customizable widgets for your dashboard, support for multiple developer tools, and more.

Download and Install the Dev Home App on Windows 11

To get started with Dev Home, you'll need to install it on your computer. For that, you will need Windows 11 21H2 (build 22000) or later versions. Installing Dev Home is easy! You can download Dev Home from the Microsoft Store, manually install it from the GitHub page, or install it using the WinGet command.

Installing Dev Home via the Microsoft Store

  1. Open the Microsoft Store and search for 'Dev Home'.
  2. Select 'Dev Home' or 'Dev Home (Preview)' from the search results and click 'Get' to download the app. Alternatively, head to the official page for Dev Home on the Microsoft Store website and click the 'Get in Store app' or 'Install' button to view Dev Home on the Microsoft Store app.
  1. On the Microsoft Store app window that opens click the 'Get' button.
  1. Once the installation process is complete, click 'Open' to launch the app on your device and initialize it.

Installing Dev Home manually

You can also install Dev Home from the GitHub Releases page. Follow these steps:

  1. Go to the Microsoft Dev Home GitHub page.
  2. On the right-side panel, click the latest version link under 'Releases' to download the latest Dev Home release ZIP file.
  3. Then, scroll down to the 'Assets' section and click the '.msixbundle' link to download the file.
  1. Unzip the downloaded file to your computer.
  2. Double-click the DevHome.msi file to install Dev Home.

Installing Dev Home via WinGet command

If you have Winget installed on your PC, you can install Dev Home by running the following command:

winget install --id Microsoft.DevHome -e

Once Dev Home is installed, you can launch it from the Start menu and start setting it up.


Setting up Your Dev Environment on Dev Home

The Dev Home app is neatly organized into three sections: 'Dashboard', 'Machine configuration', and 'Extensions'.

Once you have installed it, here are the steps to set up Dev Home initially:

Install GitHub Exensions

Extensions in Dev Home are used to add new features and functionality to the app. They can be used to display additional information on the dashboard, add new widgets, or integrate with other tools and services. Some examples of extensions for Dev Home include GitHub extensions, Azure DevOps extensions, Docker, etc.

To get started, connect your GitHub accounts to Deve Home. To do this, you need to have the GitHub Extensions installed.

  1. To check if the GitHub extension is installed, head to the 'Extensions' section on the left panel. If it's not installed by default, click the 'Get' button next to the 'Dev Home GitHub Extension (preview)'.
  1. On the Microsoft Store prompt window, click the 'Get' button.
  1. If prompted, sign in with your Microsoft account to continue.
  1. Once installed, you can easily enable, disable, and configure extensions from the Extension section to your liking.

Connect your GitHub accounts

Once the GitHub Extension is installed, you can now connect your accounts.

  1. On the Dev Home app, click the 'Settings' icon at the bottom left corner and select the 'Accounts' option.
  1. Inside the Accounts settings page, click the 'Add account' button.
  1. This will prompt you to sign in to your GitHub account. Click the 'Sign in to github.com' to do that.
  1. Your default browser will automatically launch and take you to the GitHub login page, where you can sign in with your GitHub account. Just enter your account details and click 'Sign in'.
  1. Then, enter the verification code you received in your email to verify your device.
  1. Here, you can review the permissions that the GitHub extension needs and click 'Authorize microsoft' to give Dev Home GitHub Extension access to your GitHub account.
  1. Once you've authorized the GitHub extension, close your browser and the prompt in Dev Home.
  1. If you have multiple GitHub accounts, you can add them to the Dev Home on the Accounts page.

Creating Dev Drive on Windows 11

Once you have installed the Dev Home app, you should also consider creating a Dev Drive to take advantage of the full capabilities of the app.

Dev Drive is an optional feature in Windows 11 that provides improved performance and security for your development environment, and it can be used to store your code, data, and development tools. We strongly recommend creating a Dev Drive, as it gives you more features and control over your projects. Here's how you do this:

  1. Open Windows Settings, and go to 'System' > 'Storage'.
  1. Under Disks & volumes, click the 'Create Dev Drive' button.
  1. On the pop-up window, choose 'Create new VHD', and click 'Next'.
  1. Next, give a name to your virtual hard drive (Dev Drive), and select where you want your Dev Drive to be created on your computer using the 'Browse' button. By default, it is created on the C: Drive.
  1. Specify disk size to anything more than 50 GB (the minimum size is 50GB). Then, make sure 'GB' is selected in the drop-down.
  1. Select the virtual hard disk format and type. 'VHDX' format supports a maximum of 64TB and is resilient to power failures. 'Dynamically expanding' type expands to its maximum supported size as you add more data to it. After specifying the options, click 'Create'. If the Create button is grayed out, try switching to a different drive.
  1. After that, select the partition style and click 'Initialize'. GPT is the recommended partition style by the system.
  1. On the final window, type a label, select a drive letter, and confirm the partition size. Then, click 'Format'. You can also expand the Advanced options to specify the mount folder path, allocation unit size, and whether to enable file and folder compression.

Once it's done, scroll down to the bottom of the Disk & volumes settings page and notice the newly created virtual disk drive listed there.

When creating a Dev Drive, make sure you have administrator privileges and at least 50GB of free space on the selected drive.

If you decide to set up Dev Drive after installing applications and cloning repositories, you can choose to move your applications and repositories to Dev Drive or keep them in their current location.

Configuring Dev Home Machine

Once you connect your GitHub accounts to the Dev Home app, go to the 'Machine configuration' section or head to the 'Introducing Dev Home' section and click 'Get started'.

The Machine configuration section in Dev Home allows you to set up your development environment on a new device or onboard a new development project. It can be used to install applications, clone repositories, and add all of the requirements for a new development project. It brings all your dev environment set-up tasks into one place to get your machine's development environment to a ready-to-code state.

Now, let's see how to set up your development environment in Machine Configuration options:

End-to-end Setup

Dev Home's end-to-end setup is a powerful feature that can help you get your development environment set up quickly and easily. It can install applications, clone repositories, and add all the requirements for a new development project, all in one place.

The end-to-end setup process lets you choose repositories to clone from your GitHub account, or you can enter a URL to a repository. This page is powered by WinGet, a tool that helps you install all the software packages you need for your project.

On the Machine configuration screen, select 'End-to-end setup'.

To get started on the end-to-end setup, click the '+Add repository' button.

As we mentioned earlier, there are two ways to add a repository to Dev Home - from your GitHub account or through a URL. You can test the application by providing the link to a GitHub repository. To use additional features like widgets, you need to connect your GitHub account.

  1. To add a repository from your GitHub account, go to the 'Account' tab on the Clone repository window and select an account from the drop-down menu.
  1. You will see all the repositories in your account. Select one or more repositories and click 'Add'. If have too many repositories, you the filter box to find the particular repository.
  1. If you have the URL to the repository, switch to the 'URL' tab, and paste or enter the URL in the 'Repository URL' box.
  1. If you created a Dev Drive on your computer, ensure the path is set to the Dev Drive.
  2. After selecting the repository, click ‘Next’ to continue with the selection.
  1. On the next step of the End-to-end setup, you will see the list of popular development tools. Select the applications you need from the list of options or search for any specific application using the search box and select it.
  2. After selecting the necessary applications, click the ‘Next’ button. Not all applications are available to install immediately, and some may be added to the Dev Home later.
  1. Finally, review your settings, check the ‘I agree and want to continue’ box, and click ‘Set up’.
  1. When prompted by the User Account Control confirmation dialog box, click ‘Yes’.
  2. Depending on the size of your repository and the apps you selected, it will take a while to clone your repositories and install the tools.
  1. Once it's done, click ‘Done’.

Using the WinGet Configuration file to Set up your machine

You can also use the ‘Configuration file’ option to specify a Windows Package Manager configuration file with all the tools and tasks needed to set up your development environment. You can create your own configuration file from your development machine or use one from another source.

YAML (YAML Ain't Markup Language) is a human-readable data serialization language. It is often used for configuration files, but it can also be used for other purposes, such as storing data or generating documents. A YAML-formatted WinGet Configuration file is a list of all the software versions, packages, tools, dependencies, and settings needed to set up your desired development environment on a Windows machine.

Here’s how you can use configuration files to import all the tools and tasks needed to set up your development environment in the Dev Home app:

  1. Open Dev Home and click the ‘Machine configuration’ tab.
  2. On the Machine configuration section, click the ‘Configuration file’ option.
  1. Then, navigate to the YAML file on your computer, select it, and click 'Open'.
  1. On the Configuration file warning page, review the code and configuration settings. The configuration file may change the Windows settings, install apps, and change settings. Microsoft is not responsible for the changes that the configuration file makes. Check the "I agree and want to continue" box to accept the warning.
  2. Then, click the arrow button next to the drop-down menu at the bottom right corner and choose whether you want to 'Set up as admin' or 'Set up as non-admin'.
  1. The configuration file will apply the settings, install the apps, and change app settings. Once, it's complete, click 'Summary' to revive the changes and then click 'Done'.

Clone Repositories

If you don't want to use the End-to-End Setup or want to add additional repositories to your existing setup, you can use the 'Clone repositories' option to clone repositories to your computer through a URL or by connecting your GitHub account and choosing from one of the available repositories.

Go to the 'Machine configuration' tab and select the 'Clone repositories' option.

Then, click the '+ Add repository' button.

After that, follow the Clone repository wizard to clone repositories to your PC by providing a URL or by connecting your GitHub account and selecting from the available repositories.

Installing Applications on Dev Home

Similar to cloning repositories, you can also install your desired applications through the dedicated 'Install applications' option. This option is useful if you want to quickly test some applications without having to set up the entire development environment.

On the Machine configuration tab, select the 'Install applications'

You can then click the '+' (Add) button next to the apps you want to install or the 'Add all' option in the top-right corner. You can also use the search box to find specific programs you need for your development.

Then, agree to the terms, and click the 'Set up' button to proceed with the installations.

Using Widgets in Dev Home Dashboard

The Dev Home dashboard provides a customizable workspace where you can monitor your workflows using a variety of widgets. Once you have all the necessary tools and GitHub repositories installed on your computer, you can take your development workflow to the next level with Dev Home widgets.

Dev Home widgets let you track and manage different resources on your computer and GitHub activities. Adding widgets within the Dev Home is a straightforward process. Follow the steps below to add widgets to your Dev Home environment:

  1. Start by going to the Dev Home 'Dashboard' and click on the '+ Add widget' button.
  1. On the Add widgets window, you will see a list of Dev Home (or Core widgets) and GitHub widgets.

Dev Home Widgets (System Widgets)

You can use the system widgets to track the health of your hardware components, such as GPU, CPU, memory, and network statistics. The Dev Home system widgets can provide real-time information on the following:

  • Memory: Shows the total amount of memory in use, total available, total committed, total cached, paged pool, and non-paged pool.
  • Network: Shows bandwidth measurements, including total kilobits per second for both sending and receiving data, along with the network name.
  • CPU: Displays the total utilization of CPU, speed, and active processes.
  • GPU: Shows total GPU use, temperature, and graphics chip name.
  • SSH keychain: A tool that lists the SSH connections saved in your .ssh/config file, and lets you select one to open in Windows Terminal. It makes it easy to connect to SSH servers without having to remember or type in your credentials each time.

To add a system widget to your Dev Home dashboard, select your desired widget, and click the 'Pin' button to add the widget to your dashboard.

The widget will appear on your dashboard.

You can add as many widgets as you want, and you can rearrange them to create a customized dashboard that meets your needs.

GitHub Extension Widgets

The Dev Home GitHub extension enables you to connect your GitHub account to Dev Home and create customized widgets that integrate with your GitHub repositories. This allows you to monitor your GitHub workflow directly from the Dev Home dashboard. You can use them to track GitHub notifications, pull requests, issues, reviews, and assignments on your repositories.

After installing the Dev Home app, the GitHub extension will be available by default, but you will need to log in to your GitHub account to gain access to the integrated features.

  1. Click the '+ Add a widget' button in the top-right corner of your Dev Home dashboard.
  2. From the list of widget options, select your desired GitHub widget. For example, we're selecting the 'Issues' widget to monitor issues on a specific repository.
  1. On the right side pane, enter the URL of the GitHub repository that you want to monitor and click the arrow button (Submit).
  1. Now, verify the details of the repository, and click the 'Pin' button.
  1. After adding the widget to the dashboard, you can see issues in the selected repository.
  1. The 'Mentioned to me' and 'Assigned to me' widgets allow you to get notified whenever a task is assigned to you or if you are mentioned in an item. Select the item for which you want to get notified, and click 'Submit'.
  1. Then, click 'Pin' to display the widget on the dashboard.

Customizing Widgets

Once you have added a widget to your dashboard, you can customize it to suit your needs. To do this, click the 'three dots' button on the widget.

You can change the size and position of the widget on the dashboard, the data displayed on the widget, and more.

To change the size of the widget, click the three-dots button and choose the size. To customize the widget settings, select 'Customize'. You can change the widget name, GitHub API endpoint URL, and data format for a custom Dev Home widget.

If you wish to remove the widget from the dashboard, click the three dots and select 'Remove widget'.

Change Dev Home Settings

The Dev Home app has a Settings page where you can manage your preferences, accounts, and extensions.

You can only change the color mode of the app on the Preferences page. Click the gear icon (Settings) on the bottom left corner and select 'Preferences'.

Then, select the theme mode from the 'Theme' drop-down mode.

You can add or remove GitHub accounts on the 'Accounts' page. Even if you add an account through the 'Machine configuration', it'll appear on this page.

As of now, the only extension available for Dev Home is the GitHub extension. Microsoft is planning to add more extensions to the app in the future.

Windows 11 Dev Home machine configuration tool handles everything you need to get your machine ready for development. With various setup tools at your disposal, you can customize the process to match your particular development needs.