Step by step process of my windows setup


Step 1

Before you start the guide, make sure to download a copy of Windows 11 ISO. I would suggest downloading the ISO of last year, usually they are more polished from my personal experience. So for example, as of today the latest version of Windows 11 is 25H2, I would suggest downloading 24H2. In some rare cases the newer version might be more polished and have less bugs on release, in that case download the latest one. Do your research to find the most stable version.

After downloading the ISO, download my autounattend.xml. You can import this file in https://schneegans.de/windows/unattend-generator/ and inspect it to add or remove settings. I would always suggest creating an autounattend file because it will install an almost clean Windows without you having to manually uninstall bloatware and change settings.

Once you have both of these files, burn the ISO in a USB stick using Rufus. After the iso is installed in the USB stick, copy the autounattend.xml file and paste it in the root directory of the USB.

Restart your PC and boot into the USB to go through the windows setup. The process should be almost hands-free because of the unattend file.

Step 2

Initialization

Display

Even after installing windows with the unattend file, the default settings of windows are a privacy nightmare.

Settings

For some reasons, my PC used to drop connection at random times after I switched to gigabit internet. It usually happened when I am playing games or when I am in a voice call. Weird issue, never found the exact reason for it, however I fixed them by changing these settings after doing some research.

Device Manager

Go to Ethernet > Properties > Advanced and change the following settings

Downloads

Network and Firewall

Device IP Address should be managed by PiHole, however in the case it is not set appropriately:

  • Go to Control Panel > Network and Internet > Network and Sharing Center > Ethernet > Properties > IPv4
  • set the device ip to 192.168.1.2xx

Note For a list of IP and Ports in case of a network rest, refer to the handbook


Step 3

Setting up Utilities

DisplayCal

The reason we will be using DisplayCal is because the default Windows Color Management program is not known to be reliable for handling color profiles. It glitches out especially when you switch to and from full screen mode, sometimes after a reboot it fails to load the color profile immediately. This is where DisplayCal comes in clutch, it makes sure the profile is always automatically loaded.

After installing and setting up DisplayCal, download the calibrated .icc or .icm profiles for your monitor. YouTubers like Techless and Monitor Unboxed usually provide calibrated profiles for popular monitors. Once you download the color profiles, right click on them and select Install Profile from the context menu.

Once you have everything ready, search for Color Management in windows search. On the top of the settings screen, it should show your monitors. Make sure to select the correct monitor. Once you select your monitor, click on the tickbox that says Use my settings for this device.

On the bottom left of the settings screen, you should see an Add... button, click on it and you should see a lot of color profiles, from here select the one you installed earlier. Once you add the profile, it should already be set as default. However, just to be safe, click on the profile again and click Set as Default Profile just to be safe.

After setting up the color profile in Windows Color Management, go to your system tray and right click the DisplayCal icon and click on Profile Associations. The icon should be there if you installed DisplayCal, Do not launch DisplayCal App unless you are using hardware to calibrate your monitor. DisplayCal should automatically select the profile for you, but double check if it is the correct profile. On the bottom left, click on Automatically fix profile associations

Shared Folders

Share the Following drives to the network

  • D:\Games
  • D:\Media
  • D:\Programming
  • D:\BACKUPS\Phone Backup\Samsung S25 ULTRA

PATH Variables

Add the following directories to User Variables > PATHS

  • D:\Programming\PATH Scripts
  • D:\Programming\PATH Scripts\ViVeTool v0.3.4
  • D:\Programming\Python\ThemeSwitcher\
  • %USERPROFILE%\Downloads\OpenRGB Windows 64-bit

Create Tasks

Import the all the tasks from the tasks folder


Step 4

Debloat

Chris Titus Tool

Copy and paste this in PowerShell:

irm "https://christitus.com/win" | iex

From the TWEAKS tab

For PC, you may want to Add and Activate Ultimate Performance Profile

From the UPDATES tab, select Security Settings. This should delay feature updates by 1 year, and security updates by 1 week.

SysInternals: Autoruns

Go through all the tabs and make sure there are no hidden tasks or services running. Even though we set all services to manual from Chris Titus Tool, some services may be overlooked by it. You can double check the services, and tasks created by various apps.

Use this tool to help you with the next app, Task Scheduler

Task Scheduler

Many apps love to hide their automated scripts over here (Auto update, auto install etc). I personally turn off all auto update tasks created by Microsoft and other Browsers. Most of the services are generally safe to turn off, however it is best to do your own research.


Step 5

Customize Apps

Oh My Posh & Clink

Oh My Posh is needed to theme the terminal ui, Clink is used for suggestions and more advanced but helpful features.

Download Oh My Posh using the following command:

winget install JanDeDobbeleer.OhMyPosh --source winget

Download Clink using the following command:

winget install chrisant996.Clink

To locally download the themes for Oh My Posh, go to the release page, and download the themes.zip file. Extract the themes.zip file in ~/Documents/OhMyPosh themes/

To change your theme for PowerShell, open PowerShell and type:

notepad $PROFILE

This will create a Profile for PowerShell in one of these locations

Download your favorite theme for Oh My Posh and save it in Documents, and to apply it, enter the following in the PowerShell profile:

oh-my-posh init pwsh --config '$HOME/Documents/OhMyPosh themes/catppuccin_mocha.omp.json' | Invoke-Expression

Once altered, reload your profile for the changes to take effect:

. $PROFILE

For Command Prompt, enter the following in your terminal:

clink config prompt use oh-my-posh
clink set ohmyposh.theme "%USERPROFILE%\Documents\OhMyPosh themes\catppuccin_mocha.omp.json"

Restart your Command Prompt to see the difference.

Windows Terminal

You can either import the config from here, or have a fresh start. Here are some settings which I recommend to change:

CMD.exe

Right click the title bar and then change the settings for the following

Default
Properties

Nilesoft Shell

Just copy paste the config files

Transclucent Taskbar

Everything should be at default settings except Desktop > Acrylic Maximized window > Acrylic

Explorer Patcher

Import the config file, OR apply these main settings:

Taskbar
File Explorer
Other

Windhawk

Download the following extensions for windhawk

Go to Settings > Advanced Settings > More Advanced Settings In the Process inclusion list enter dwm.exe Save and Restart Windhawk

Slick window arrangement
Windows 11 notification center styler
Windows 11 start menu styler

VS Code

Download the following extensions before setting the configs

Configuration for VS Code

Text Editor

Workbench

Features

C/C++

Clangd

Git

Live Server

Python