Skip to content

Commit

Permalink
draft backup: 664a3aa4b3f57ba83b07a359
Browse files Browse the repository at this point in the history
  • Loading branch information
jimbrig committed May 19, 2024
1 parent 4c5eac0 commit 8e56493
Showing 1 changed file with 90 additions and 0 deletions.
90 changes: 90 additions & 0 deletions draft-664a3aa4b3f57ba83b07a359.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: "Setting up an Optimal Developer Environment on Windows 10"
slug: setting-up-an-optimal-developer-environment-on-windows-10-53650382ceb5

---

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1716140707351/e8dbc7af-3b2a-49b2-9ad4-ccad68d7b3e4.jpeg)

Live in your own Windows 10 Developer Paradise.

Setting up a fully featured, fluent, yet minimal developer environment tailored to your personal needs can be a daunting task in Windows 10.

This article attempts to provide a template checklist for anyone who desires a clean, optimized workstation running on Windows 10.

### Overview

Setting up the proper system on Windows 10/11 involves many various, interdependent steps, including but not limited to:

* Clean Installation of the latest Windows Update; optional, but recommend creating your own slimmed down version of the provided ISOs from Microsoft (can use tools such as NTLITE, Hyper-V, and custom setup configuration files)
* Updating the OS, Manufacturer Drivers, Security, and Runtimes
* Debloating unnecessary software and apps
* Installing and configuring core developer tools
* Enabling optional windows features for developers: specifically:
* Maintaining and decluttering
* Implementing a full-proof backup system
* Tracking scripts, configs, and dotfiles via Version Controlled dotfiles
* Taking thorough notes and documenting decisions made throughout the process

### Getting Started

Initially, you will need to walkthrough the steps to install the Windows OS onto your machine and set certain settings such as Wi-Fi, Privacy, and OneDrive. I will leave these out of the context of this document but would recommend disabling and reviewing the privacy settings. It is also common to initially utilize an offline user account instead of a linked Microsoft account to avoid linking your windows account and pre-existing settings/OneDrive.

#### Update Windows and Enable Developer Mode

1. In Settings run Windows Update to update to the latest released Windows OS, restarting when necessary.
2. Enable Developer Mode from Settings > Update and Security > Developer Mode
3. Initialize Windows Insider Program, Dev Channel
4. Re-run windows updates, restarting when necessary.
5. Open Windows Store and update all necessary apps to latest versions

#### Install Microsoft’s Latest Developer Open-Source Tools

Microsoft has provided some amazing new open-source developer tools which we will install via `winget` the new Microsoft package manager.

In order to ease the process of implementing all of our commands, let’s improve our terminal and default shell by installing Microsoft’s open-source versions of [PowerShell](https://github.com/PowerShell) (Core) and [Windows Terminal](https://github.com/microsoft/terminal).

winget install Microsoft.Powershell-Preview
winget install Microsoft.WindowsTerminalPreview

This is also a good time to install various other developer related software such as:

Core-developer tools from windows:

* Windows Package Manager `winget`
* Powershell Core (Preview)
* Windows Terminal (Preview)
* PowerToys (Preview)
* Visual Studio Code (Stable or Insiders)
* .NET/Visual Studio/NuGet and necessary runtimes.
* Azure Tools and Azure CLI

Other Essentials:

* Git (for Windows) + LFS + Crypt + Secret
* Docker Desktop (Beta)
* WSL + Ubuntu
* Python
* Node.js
* R, RTools, RStudio
* GitKraken
* Github-CLI
* GCloud SDK

Utilities:

* SysEssentials
* Autoruns
* ProcessExplorer
* 7Zip
* Teracopy

Browsers:

* Firefox Developer Edition
* Chrome Canary
* Edge Canary

### Debloating Pre-Installed Crapware

Utilize PowerShell’s

0 comments on commit 8e56493

Please sign in to comment.