---
title: "How Do I Survive Windows"
date: 2021-06-13T21:41:17.000Z
author: Z.SHINCHVEN
tags: [Developer's Environment]
canonical: https://atlassc.net/2021/06/14/survive-windows
---
> Settings up a developer's env on Windows is complicated, so I'm leaving this memo to remind myself of what to do when my windows ENV got crushed or reset.

## Install NodeJS

Install nodejs using installer from [nodejs.org](https://nodejs.org). 

Why it should be done first is that the nodejs installer bundles [chocolatey](https://chocolatey.org/), python and other windows build tools

## Install Windows Terminal

Install [Windows Terminal](https://docs.microsoft.com/en-us/windows/terminal/) from [Microsoft Store](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701), so it can be updated automatically.

## Config Chocolatey Proxy

```PowerShell
choco config set proxy <PROXY_URL>
```

## Install Everything Else from Chocolatey

```PowerShell
choco install -y `
  7zip `
  bandizip `
  fontbase `
  git `
  nerdfont-hack `
  powershell-core `
  starship `
  telegram `
  vim `
  vscode `
  vlc `
  potplayer `
  postman `
  jetbrainstoolbox `
  foobar2000 `
  mkvtoolnix `
  flac `
  picard `
  crystaldiskmark `
  crystaldiskinfo `
  aida64-extreme `
  rufus `
  freedownloadmanager `
```

## Font

[Hack Nerd Mono](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/Hack)

Should be installed in previews step.

## Windows Terminal Themes

- Get themes from [https://windowsterminalthemes.dev/](https://windowsterminalthemes.dev/)
- Font: `Hack Nerd Mono`
- Transparent theme as below

settings.json:

```JSON
{
  "profiles": {
    "defaults": {
      "useAcrylic": true,
      "acrylicOpacity": 0.7
    }
  }
}
```

## PowerShell Setup

### Edit the PowerShell profile

> ~\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

```ps1
vim $PROFILE
# or
code $PROFILE
```

### Enable Starship

```ps1
# Enable Starship
Invoke-Expression (&starship init powershell)
```

### Setup PSReadline for Autocompletion and Autosuggestion

[PSReadline](https://github.com/PowerShell/PSReadLine)

```ps1
# Shows navigable menu of all options when hitting Tab
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

# Autocompletion for arrow keys
Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward

# Autosuggestion, Press right arrow key to complete the suggestion
Set-PSReadlineOption -ShowToolTips
Set-PSReadlineOption -PredictionSource History
```

## Apps from MicrosoftStore

### Screenshot

Get [Snipaste](https://www.snipaste.com/) from [Microsoft Store](https://www.microsoft.com/store/apps/9P1WXPKB68KX).

### Explorer Extensions

Get [QuickLook](https://www.microsoft.com/en-us/p/quicklook/9nv4bs3l1h4s) from [Microsoft Store](https://www.microsoft.com/en-us/p/quicklook/9nv4bs3l1h4s).
