Skip to content

Instantly share code, notes, and snippets.

@devpro
Last active September 22, 2023 13:28
Show Gist options
  • Save devpro/f2334b84e4dae4d991a034b8cb3d80bc to your computer and use it in GitHub Desktop.
Save devpro/f2334b84e4dae4d991a034b8cb3d80bc to your computer and use it in GitHub Desktop.
Windows 10 dev workstation setup

Setup of a Developer workstation running on Windows 10

Windows 10 installation

Windows applications

  • Pre-installed
    • Office
    • OneDrive
  • To install

Windows Store

  • Skype
  • draw.io

Windows features

  • Containers
  • Internet Information Services
  • Hyper-V
  • Windows Subsystem for Linux

Drivers

  • Intel Driver and Support Assistant from intel.com

Utility

Command line

Browsers

Search engine: DuckDuckGo

Mozilla Firefox

Google Chrome

SSH

# generate a new SSH key if not present
ssh-keygen -t rsa -b 4096 -C "myaddress@myemail.com"

# copy it to the clipboard to paste it in systems like Azure DevOps or GitHub
clip < ~/.ssh/id_rsa.pub

See Authenticating to GitHub.

IDE

Visual Studio Code

For almost everything except .NET...

Install from code.visualstudio.com.

Extensions:

Visual Studio 2019

Install from visualstudio.microsoft.com.

Extensions:

Tips:

  • With Visual Studio 2019 Professional, it's not possible by default to open coverage file generated during tests. It was working well with 2017 but now you have to do two manual steps (solution found on StackOverflow
    • Add ";Extensions\TestPlatform" at the end of list in %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\16.0_somehash\devenv.exe.config file.
    • Copy Common7/IDE/Extensions/TestPlatform/Microsoft.VisualStudio.Coverage.Analysis.dll and Common7/IDE/Extensions/TestPlatform/Microsoft.VisualStudio.Coverage.Interop.dll to Common7/IDE/PrivateAssemblies in Visual Studio installation path (C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7 by default)

Technologies

git

Install from git-scm.

Do NOT set autocrlf to true!!!

# Display git version
git --version

.NET Core SDK

.NET SDK Core 3.1 must be available from the command line.

# Display .NET version
dotnet --version

# Install dotnet format global tool (https://github.com/dotnet/format)
dotnet tool install -g dotnet-format

# Install dotnet uninstall global tool (https://docs.microsoft.com/en-us/dotnet/core/additional-tools/uninstall-tool?tabs=windows)

MongoDB

Azure

Azure CLI

The Azure CLI gives you the opportunity to manage an Azure infrastructure from the command line.

# Login to your Azure account
az login

# Switch the current context to a given subsctiption
az account set --subscription "xxxx-xxxx-xxxx-xxxx"

# Display the current context
az account show

Docker

  • Install Docker Desktop for Windows

  • (Optional) Enable Kubernetes

    # switch to the new context
    kubectl config use-context docker-desktop
    
    # look at the existing nodes
    kubectl get nodes

Kubernetes

kubectl

The Kubernetes CLI ("kubectl") gives you the opportunity to administrate a Kubernetes cluster, no matter the underlying service running it.

# Display the client and server version.
kubectl version

Helm CLI

Helm is the package manager of Kubernetes. The Helm CLI gives you the opportunity to manage applications on a given Kubernetes cluster.

# Display the client version
helm version

# Add stable repo if not already there
helm repo add stable https://kubernetes-charts.storage.googleapis.com/

# Update the repositories
helm repo update

Linux subsystem for Windows

  • Enable Windows feature

  • Install Ubuntu from Windows Store

  • Additional packages:

    # update package manager and install required dependencies
    sudo apt-get update && sudo apt-get install -y apt-transport-https
    
    # install Azure CLI (https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-apt)
    curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
    
    # install kubectl (Kubernetes CLI)
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
    sudo apt-get update
    sudo apt-get install -y kubectl
    
    # Helm (look at latest release https://github.com/helm/helm/releases)
    wget https://get.helm.sh/helm-v3.1.2-linux-amd64.tar.gz
    tar -zxvf helm-v3.1.2-linux-amd64.tar.gz
    sudo mv linux-amd64/helm /usr/local/bin/helm
    helm version
    helm repo add stable https://kubernetes-charts.storage.googleapis.com/
    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm repo update

Node.js (NPM)

nodejs.org

# Angular CLI (https://cli.angular.io/)
npm install -g @angular/cli

Virtualization

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment