First look at Windows Dev Home and Dev Drive

Microsoft has released the preview version of Dev Home and Dev Drive this week. Dev Home is created for developers and allows you to easily deploy your dev environment and keep track of your projects using the customizable dashboard.

Dev Home is built as an open-source tool, allowing you to create extensions and customize them to your needs. Besides Dev Home, we can now also try out the new Dev Drive. This is a new storage volume that offers improved performance for developers.

dev home

In this article, we are going to take a first look at Dev Home and Dev Drive. Explain how to get started and what to expect.

What is Dev Home?

Developers often use specific toolsets for their projects. You will need an IDE, Git repositories, and often some software to test and debug your code. Settings this up on a new machine always takes some time. This is where Dev Home comes in. It allows you to quickly install all the software that you need for your project.

And it doesn’t stop there. Dev Home also provides a dashboard that brings everything together. You can connect your developer accounts, (only GitHub at the moment), with Dev Home. Allowing you to track the latest issues, pull requests, etc.

Now Dev Home is currently in preview, so it’s really basic at the moment. There are some built-in widgets available that you can use. But the idea is that third parties also are going to develop extensions in the future. The plan is that there comes a marketplace where you can find and install new extensions easily for your Dev Home.

At the moment you can use the following widgets:

  • CPU, GPU, Memory, and network – These widgets allow you to monitor your system resources.
  • SSH Keychain – List of SSH connections from your SSH Config file. Allows you to open SSH quickly in the Windows Terminal.
  • GitHub – Allows you to view Issues, Pull Request, Assigned issues and review requested issues. You can simply click on the issue which will take you to GitHub for more details.

Microsoft is currently working on integrating Azure DevOps and the Microsoft Game Development Kit into Dev Home.

Machine Configuration

Machine Configuration is the other pillar in the dev home. The idea behind this is that you can easily deploy your development environment to a new machine. At the moment you can only install apps on your local machine, but in the future, you should also be able to deploy to remote environments like Dev Box and GitHub Codespaces.

The installation of apps is powered by WinGet. It uses the App Installer app in the background which gives you the GUI to select and install the packages. You can also use a WinGet YAML file to install the apps. The YAML file can be imported into Dev Home which will then show the deployment progress of the apps.

Dev Drive Explained

Dev Drive allows you to create a separate volume on your computer, that will give you a performance improvement for operations like cloning, copying files, and building applications. This volume uses the ReFS (Resilient File System) technology, which is designed with data availability and data integrity in mind. It is capable of detecting file corruption and able to fix those corruptions while remaining online.

The Visual Studio team from Microsoft has done some performance measurements and where able to get an average performance improvement of 25%:

dev drive performance
src: Microsoft

Dev Drive is currently only available in Windows 11 Insider on the Dev Channel. It also requires at least 8 GB of memory and 50 GB of free disk space.

Windows Defender Performance Mode

Another advantage of the new Dev Drive is that it will put Windows Defender in performance mode for the drive. Performance mode is a new feature in Defender and it’s automatically enabled for trusted dev drives.

The difference compared to the normal mode is in the Real-time scanning. Normally defender will scan files immediately when you open them. Performance mode will scan the file later:

Performance mode stateScan typeDescriptionSummary
Not enabled (Off)Synchronous
(Real-time protection)
Opening a file initiates a Real-time protection scan.Open now, scan now.
Enabled (On)AsynchronousFile open operations are scanned asynchronously.Open now, scan later.

The only way to check if performance mode is enabled for a drive is to use the fsutil utility. Run the command below followed by the drive letter to check it the drive is trusted or not:

fsutil devdrv query e:

# Result
This is a trusted developer volume.

Developer volumes are protected by antivirus filter.

Filters currently attached to this developer volume:
    WdFilter

Getting started with Dev Home

To try out Dev Home you don’t need to be part of the Windows Insider program. You can just install the preview version from the Windows Store. For the Dev Drive, however, you will need to be on the Insider Dev Channel. Keep in mind that the Dev Drive isn’t required.

Step 1 – Add a Dev Drive (optional)

If you want to use the Dev Drive, then the first step would be to configure the drive. Because during the machine configuration, we are going to clone our repository and we will need a location for that.

  1. Open the machine configuration
  2. Click on Add a Dev Drive (this will open the Disk & Volumes settings)
  3. Choose Create Dev Drive
create dev drive
  1. Select Create new VHD and click next
  2. Give the disk a name
  3. Select a location for this disk (we are creating a virtual drive)
  4. Set the size for the disk (at least 50GB) and leave it on VHD
new dev drive windows

After the disk is created, leave GPT selected and enter a label and drive letter of the new disk. If you open the Explorer, you will now see a new disk drive. It doesn’t have a different label or icon, which indicates it’s a dev drive. You can only see it on the File system if you open the properties of the disk.

Step 2 – Create your first End-to-End setup

We are now going to create the first end-to-end setup. I think the idea is that we can save and import configurations later, but at the moment that is not possible (except the YAML file for the applications).

  1. Open the Machine Configuration
  2. Click on End-to-end setup
  3. Add a repository. You can either use the URL or click on Account and select one from your GitHub account.
  4. Select a location for the local copy of the repository. If you are using the Dev Drive, then make sure it’s selected here.
configure dev home

We can now add the application that we need on our development machine. In the list, you will see some popular development applications. Keep in mind that you can also search for other applications, than the one listed.

dev home setup

In the last step, you can review the repositories and applications that you selected. After you have accepted the terms you can click on Set Up to start the deployment.

Now this is the place where I would expect an option to save or export the configuration. This would allow us to easily share the end-to-end setup with coworkers or use it on other machines. Another nice option would be to sync it to your Microsoft account.

devhome

Depending on the number of applications and size of the repository it can take a couple of minutes for the deployment to complete.

Step 3 – Configuring the Dashboard

The last step, which is also optional, is to configure the dashboard. The number of widgets is at this moment limited. But it definitely has the potential to become a useful dashboard. You can add widgets from GitHub repositories, showing the open issues, pull requests, etc.

You can also add your SSH Keychain to it, allowing you to quickly connect to servers using the Windows terminal. And of course, we can add some system resource widgets to the dashboard as well.

dashboard

Wrapping Up

Dev Home has a lot of potential to become a useful utility to deploy and manage your machine for code development. I would really like to see features like exporting the configuration, an overview of installed apps, and the ability to update or remove them. Also, an overview of the current repositories would be nice to have.

Keep in mind that the app is still in preview at the moment. There is already a huge list of ideas (and reported bugs) in the GitHub repository the Dev Home app. So we can definitely expect more from this app.

I hope you liked this article, let me know your thoughts in the comments below!

Leave a Comment

0 Shares
Tweet
Pin
Share
Share