peteris.rocks

My first few hours on a fresh Windows 10

My desktop/development environment on Windows 10

Last updated on

Photo of Dell XPS 15 laptop

I treated myself to a Dell XPS 15 9550.

When my previous laptop had an issue with the screen after 2.5 years of use.

I set up my desktop environment from scratch as I like to do it every few years. This time I wrote down what I did.

My desktop operating system of choice is Windows 10.

Table of Contents

Background

I'm a software developer who uses JavaScript, Python, C#/.NET, Rust and Java. Some of these languages I use more than the others. I also like to automate and set up my Linux servers from scratch. I am interested in machine learning and natural language processing & machine translation.

I also use my computer to record screencasts and do some basic video editing.

When I was young and had a lot of free time I ran KDE on Linux From Scratch that I compiled on a Intel Celeron at 700 MHz which tooks weeks.

For the past decade, I've been using Windows as my main desktop operating system since it just works and I don't really care about customization that much anymore.

I know about Ninite and Chocolatey but I did not use them this time.

Grand list of installed software

For this list, I chose just 4 categories:

Price is what the software costs me, not the general price.

Software Category Price Purpose
Windows 10 Home OS Free Operating system, preinstalled
Notepad2 OS Free Text editor, replaces Notepad, can open large files (GBs)
7-zip OS Free Archive manager, can open/create 7z, zip and open tar, rar files
WinDirStat OS Free Disk space explorer, also finds node_modules with a huge number of files
SharpKeys OS Free Permanently remaps keys on the keyboard
O&O ShutUp10 OS Free Fine tune privacy settings in Windows 10
Google Chrome OS Free Main web browser for dev and fun
Office 365 Home OS €10/m Word, Excel, PowerPoint, OneNote
AIDA64 Extreme OS Trial Computer hardware info, shows temperature sensors
Visual Studio Code Dev Free IDE for JS dev
node.js Dev Free JS dev
Git for Windows Dev Free Command line git + Linux tools (ssh, grep, etc.)
TortoiseGit Dev Free GUI diff for git
Vagrant Dev Free Quickly launching Linux virtual machines for testing deployments, creating reproducible installs
VirtualBox Dev Free Virtualization software, used by Vagrant and also for recording screencasts in clean Win 10
Java Runtime Dev Free Required to run some apps
Java Development Kit Dev Free Some ocassional Java dev
IntelliJ IDEA Community Dev Free IDE for occassional Java dev
Python Dev Free IDE for Python dev
PyCharm Comunity Dev Free Python dev
Visual Studio Community 2015 Dev Free IDE for C#/.NET dev
Weka Dev Free Quickly testing various machine learning algorithms on a data set
PuTTY Dev Free Connect to Linux via SSH, sometimes used as telnet
WinSCP Dev Free Browse and transfer files to Linux via SCP
Adobe Premiere Pro CC Video €24.19/m Video editing hobby
Adobe Audition CC Video €24.19/m Record and process voice overs for video
Camtasia Studio Video €92 Record and edit screencasts
Bandicam Video $39 Record screencasts
VLC Media Free Default media player because 1) spacebar pauses/resumes playback 2) supports speedup
Paint.NET Media Free Image editing because too lazy to learn Photoshop
Deluge Media Free Torrent client
Adobe Illustrator CC Media Trial Open & edit vector graphics for T-shirts
Calibre Media Free Epub books to my Kindle
QGIS Media Free Used it for a project to draw maps

Software that I did not install on this computer but had on the old one:

Windows configuration

Here is a summary of the configuration changes that I made

Screenshot of my desktop

Remap keys

My laptop does not have Home and End keys which I think is ridiculous since there's a developer edition of this laptop which I think has the same keyboard.

I use Home/End all the time so I've remapped the PrtScr key to Home and the Insert key to End.

I never use the Insert key so I am not going to miss it.

PrtScr, however, I use a lot. Luckily, I can just use Alt+PrtScr which will capture the active window instead of the whole window which is what I want most of the time. If I want to capture the whole desktop, I'll unfocus the active window and Alt+PrtScr will capture the entire screen. Or I can use the Snipping Tool that comes with Windows 10.

I used SharpKeys which writes the changes to the registry and then I can remove this software. It'll only swap keys, it can't remap keyboard shortcuts. Which is exactly what I want since I want Shift+PrtScr to work as Shift+Home.

Remove all Windows Store apps

I made the mistake of singing in with my Microsoft account instead of creating a local one.

So here is how to remove all apps that are installed from Windows Store by default.

Get-AppxPackage -AllUsers | Remove-AppxPackage

I then reinstalled some of them that I wanted to keep.

Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1605.1582.0_x64__8wekyb3d8bbwe\appxmanifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.WindowsCamera_2016.404.120.0_x64__8wekyb3d8bbwe\appxmanifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.WindowsSoundRecorder_10.1512.21110.0_x64__8wekyb3d8bbwe\appxmanifest.xml" -DisableDevelopmentMode

To reinstall another app, run this command and use the text from the second column in the commands above.

Get-AppxPackage -allusers | Select Name, PackageFullName

Blue Screens of Death

I got several BSODs while trying to use the Camera app from Windows Store with an old external Logitech webcam. The solution was to install the Logitech webcam software or just not use the webcam.

From what I've read, Dell XPS 15 was infamous for BSODsing every single day for a lot of people. It seemed to be caused by Samsung SSD drivers. My unit came with a Toshiba SSD drive and I've only experienced one BSOD which seemed to be related to SSD drivers as well.

Application settings

7-Zip

7-Zip is a file archiver. I use it because it's free (unlike WinRAR), can open most archive files (including rar, zip, 7z, tar and others) and can create zip and 7z archives.

By default, all 7-Zip options are hidden under a nested context menu. I like to be able to see them all at once with an icon next to each menu item. I never use "Archive & e-mail" so I've removed those menu items. I've also associated all archive file types to open with 7-Zip.

Screenshot of 7-Zip context menu

Google Chrome

Google Chrome has been my default browser ever since it came out. It was minimalistic and fast and that's why I stuck with it. Then it got great developer tools which was just the icing on the cake.

When I signed into my Google Chrome profile, all my settings were restored which was very nice. Unfortunately extension settings were not synced and I had to configure them again.

I had chosen to sync bookmarks, extensions and settings. I had to recall an old password that I used when I set up syncing since my current Google account password didn't work.

These are the extensions that I have installed

I block third-party cookies and all cookies are deleted when I close Google Chrome which means I have sign in again on all websites. I can get around this by killing chrome.exe or restarting my computer without closing Google Chrome first.

I've unchecked all features under Privacy (prediction service, report errors to Google, etc.) except for sending the DNT header.

My custom search engines

I use them by hitting the c/t/w key, then space or tab and typing my keywords.

Shut Up Windows 10

Even when you opt out of all telemetry when customizing Windows 10 settings during installation, a lot of it still remains enabled.

O&O ShutUp10 can disable other telemetry settings.

I've chosen to disable all Microsoft spying features including Windows Update, except for Windows Defender and I allow Windows Store apps to access webcam and microphone.

I enable Windows Update every once in a while.

Screenshot of O&O ShutUp10

TortoiseGit

Most of the git operations I can do from an IDE (VSCode, Visual Studio or IntelliJ). Sometimes I'll use CLI tools so I'll choose Git Bash here from the context menu in Windows Explorer.

But when I don't have an IDE open or I just want to see a diff, clone, commit or push, I'll use TortoiseGit.

These are the context menu items I like to see when I open the context menu.

Screenshot of TortoiseGit context menu

WinDirStat

WinDirStat is a disk space explorer like ncdu for Windows.

By default, you'll get a treemap and disk space usage by file types. I don't use them, so I've hidden them.

Screenshot of WinDirStat

WinSCP

WinSCP manages all my PuTTY connections. To launch PuTTY I hit CTRL+P, or Enter to launch WinSCP to transfer files.

I like this minimalistic setup for WinSCP. I've removed all toolbars except for the address bar since I never click on any buttons.

To transfer files, I just drag & drop them.

Screenshot of WinSCP

Installation log

Here is a log of the first few hours on my computer. It's a mix of software installation and Windows settings changes.

The software installed at the end of the log happened a few days or weeks after day 1.

The operating system is Windows 10 Home preinstalled by Dell.