Reinstalling my laptop; what config I use

Reinstalling my laptop; what config I use header image

What’s better than to use a few days off to reorganize? During the days before Christmas, I usually reinstall my laptop to make sure that next year I have a great start with a clean machine.

Software

I am currently running a Surface Book 2. Reinstalling Windows thus requires a bootable USB disk with a recovery image. After a fresh installation, it is a matter of running some updates. And to make sure I got all up to Windows update 1909. Our company pushes Office and some other policies but no other software. So reinstalling is pretty quick. After that, it is a matter of downloading the required software and installing some packages.

  • 7-Zip
  • Azure Storage Explorer
  • Docker Desktop
  • Fiddler
  • Fork
  • Edge Beta
  • Keepass (usually installed right after OneDrive to get all my passwords)
  • Paint.net
  • Snagit
  • Visual Studio Code
  • Windows Terminal
  • ZoomIt

After all the software is installed I also make sure to delete the apps I don’t use. I use a quick PowerShell script for that. I also have some handy tools like IllSpy and ngrok in a tools folder on my OneDrive. They offer a portable version, so there is no need to install them locally.

Besides all that software there are a few PowerShell modules that I install right away.

  • AzureADPreview
  • Microsoft.Online.SharePoint.PowerShell
  • MSOnline
  • SharePointPnPPowerShellOnline
  • oh-my-posh
  • posh-git

The last two are from a blog post called How to make a pretty prompt in Windows Terminal with Powerline, Nerd Fonts, Cascadia Code, WSL, and oh-my-posh by Scot Hanselman. They help in making things look pretty. The details on that are described in the settings chapter.

For switching between different versions of Node I use NVM. It allows you to run different versions. Thus leverage the correct node version for SPFx or other projects. Installing NVM for Windows is the first step followed by an install of common requirements like Gulp, Yeoman and the SPFx and Teams packages.

Visual Studio Code settings

For Visual Studio Code, I use a plugin Setting Sync to save all my settings to GitHub. That way after a reinstall the only thing I have to do is to log in again. It will automatically pull all my settings. I loved the post Make your dev environment awesome with VSCode + OhMyZSH 🔥🔥🔥 plugins, fonts, Icons and others . So I took most of those settings and customized a few. I ended up with the following:

{
    "sync.autoUpload": true,
    "sync.autoDownload": true,
    "workbench.iconTheme": "material-icon-theme",
    "workbench.editor.enablePreviewFromQuickOpen": false,
    "[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features"
    },
    "git.enableSmartCommit": true,
    "git.autofetch": true,
    "window.zoomLevel": 0,
    "explorer.confirmDelete": false,
    "breadcrumbs.enabled": true,
    "window.title": "${dirty} ${activeEditorMedium}${separator}${rootName}",
    "editor.fontFamily": "Fira Code",
    "editor.fontLigatures": true,
    "editor.minimap.renderCharacters": false,
    "editor.minimap.maxColumn": 150,
    "editor.minimap.showSlider": "always",
    "editor.renderWhitespace": "all",
    "editor.smoothScrolling": true,
    "editor.cursorBlinking": "phase",
    "editor.cursorSmoothCaretAnimation": true,
    "files.insertFinalNewline": true,
    "files.trimTrailingWhitespace": true,
    "explorer.confirmDragAndDrop": false,
    "git.confirmSync": false,
}

As you can see use a Custom Font Fira Code, so that is something I download as well. I use that font for all my code related work, so it is configured as my cmd window, PowerShell Profile, and Windows Terminal as well.

VSCode look and feel

For VSCode plugins the minimum I use are the following:

  • Bracket Pair Colorize
  • Code Spell Checker
  • Front Matter
  • Import Cost
  • Markdown Preview
  • markdownlint
  • Material Icon Theme
  • Rainbox CSV
  • Remote WSL
  • Setting Sync

Other settings and config Settings

Working on multiple projects at the same time is probably something most of you do. So I took at hearth a tip from my colleague Stephan van der Knijff. He came up with the idea to create a Library folder. Folders like that allow you to map other folders to it. By pinning it to your Quick Launch you can easily browse all projects. So that’s how ended up creating a \git\ folder with four subfolders. These folders categorize my projects over work-related stuff. Products and Projects that I work on for Portiva, and Open Source and sandbox stuff. It even allows me to regularly clean up my temp folder.

Library view in File Explorer

With that a new install of my laptop took around 60 minutes to complete after Windows was finished updating. Making sure I am all set for next year.

Loading comments…