Windows 11 — Fresh Install Setup
Documentation of my standard workflow after a clean Windows 11 installation. Goal: set up every machine the same way — reproducible and traceable — for myself and for others who want a clean Windows on purpose instead of accepting the default out-of-the-box state.
Still being expanded
This page is not finished. What is here so far is the part of my Windows setup I have written down; more steps, commands, and edge cases will be added over time. Gaps below are intentional until I document them — not missing because the steps do not exist on a real install.
Why
A computer is a machine you have to look after — like a car. The hardware is the body; the operating system is the engine. Windows starts after a fresh install, but that does not mean it is ready to run for years without care: preinstalled apps, weak defaults, and skipped updates are the equivalent of dirty oil and unchecked wear parts. You would not only drive and ignore the service interval; the same applies here. Updates, removing software you do not need, and a deliberate setup (tools, folders, shell) are maintenance — not optional extras. Skip that and problems show up later; you no longer know what was changed when. This page is my checklist for that maintenance on a new Windows 11 install.
It is a reference for myself, not a full tutorial — enough structure that I do not improvise on every machine, and enough context that the order of steps makes sense.
Principles
- Maintain, do not just use: Treat a new install like the first service — lean OOBE, then updates, then your own software. Do not stack apps on top of a half-finished base system.
- Remove bloat early: Uninstall preinstalled apps you will never open (OneDrive, Outlook, News, …) on day one — keep exceptions you actually need (e.g. Xbox for Flight Simulator).
- Keep machines consistent: Same profile naming, folders (
Workspace,devscripts), terminal, andPATHon every PC — see devstart. - Install desktop apps properly: Official vendor installers or
winget; no Microsoft Store for tools like Cursor or Enpass. - Document what you actually do: A short, repeatable list beats perfect one-off tuning you cannot reproduce on the next reinstall.
Setup overview
Rough order on a new machine — follow top to bottom; later sections assume earlier ones are done.
| Step | Section | What |
|---|---|---|
| 1 | Install Windows | Pro, ISO, OOBE |
| 2 | First session | Uninstall bloat, Windows Update |
| 3 | Applications | winget, Terminal, vendor installers |
| 4 | File Explorer | Quick access, Workspace, folder options |
| 5 | Registry | Long paths, Gallery, Spotlight desktop icon |
| 6 | Settings app | Shell, taskbar, personalization |
| 7 | Development | Git layout, devstart, Docker when needed |
| 8 | Window management | GlazeWM, Windhawk |
| 9 | Final checks | SSH, secrets, smoke test |
1. Install Windows
Edition and media
- Install Windows 11 Pro (not Home). Activate with the product key later if you want — Pro is worth it for local account, BitLocker, Group Policy, and Hyper-V down the road.
- Media: official ISO or Media Creation Tool; leave UEFI and Secure Boot on if already enabled.
OOBE (out-of-box experience)
During first setup:
- Privacy / telemetry: decline sending optional data to Microsoft where the installer asks (“don’t send” / minimal diagnostics). Keep the install lean.
- Account: create a local account — user name = first name only (e.g.
Jakob, not a single letter and not an e-mail prefix). Set a password and configure Windows Hello (PIN / biometric) when prompted. - Do not sign in with a Microsoft account during OOBE.
Why local + first name: on a machine with one account, the profile folder name is what you see in Explorer, terminals, and every path under %USERPROFILE% — it should read like a person, not like mail metadata.
- Microsoft account at OOBE: Windows derives the profile folder from the e-mail local part (before
@). Withj@…you getC:\Users\J— one letter, easy to misread, and ugly next to real folder names. I wantC:\Users\Jakob(or your first name), notC:\Users\J. - Local account with first name: you choose the folder name directly; paths stay obvious for Git, scripts, and tools that embed the user directory.
- Single-user PCs: I usually have only one account anyway — a clear first-name profile is the simplest mental model; no need for a generic
Useror mail-derived alias.
Microsoft account later (optional): after the desktop is up, sign in under Settings → Accounts if you want Store sync or licensing. You do not need the MS account as the OOBE login for Office; add cloud services only when you actually use them.
2. First session
Do this right after the desktop appears — before installing your own apps.
Remove preinstalled apps
Settings → Apps → Installed apps (or Start search for the app name → Uninstall):
| Remove if unused | Examples |
|---|---|
| Cloud / mail | OneDrive, Outlook, Mail |
| Games / media | Solitaire, Clipchamp |
| News / widgets | News, Tips, Get Help |
| Anything else in the list you will never open | Bing apps, trial Office shortcuts, OEM bundles |
Xbox: I get why many people uninstall the Xbox app with the rest of the bloat — if you do not game on that PC, it is dead weight. I leave it installed: I play Microsoft Flight Simulator 2024, and that title relies on the Xbox app for install, updates, and licensing. Removing Xbox would save clutter but break something I actually use.
Goal: a short Installed-apps list on day one so the Start menu is not full of Microsoft defaults you will never click. Skip blanket debloat scripts for this step — uninstalling known junk by name is enough; save scripted profiles only for edge cases later.
Windows Update
- Settings → Windows Update until fully current, then reboot.
- Schedule feature upgrades deliberately — not on the same day as the rest of setup.
3. Applications
winget
winget upgrade --all
winget install Microsoft.WindowsTerminal
winget install --id Git.Git -e --source winget
Windows Terminal
Install via winget (above), then open Windows Terminal → Settings (Ctrl+,) → Startup (German UI: Starten).
| Setting | Value | What it does |
|---|---|---|
| Default profile (Standardprofil) | Command Prompt (Eingabeaufforderung) | New tabs (+) and the new-tab shortcut open cmd.exe, not PowerShell. |
| Default terminal application (Standardmäßige Terminalanwendung) | Windows Terminal | When a CLI app starts without an existing session — Start menu, Win+R, shortcuts — Windows launches it inside Terminal instead of the old standalone console window. |
Why this split: Terminal is the host (tabs, fonts, acrylic, one place for everything). Cmd stays the default shell for quick work and matches scripts that use cmd /k (e.g. devstart, GlazeWM shell-exec cmd). PowerShell is still available as a second profile when you need it.
After changing the default terminal application, sign out once or reboot if Run / Start still open the legacy console.
Vendor installers (not Microsoft Store)
On every fresh install I put the same desktop stack on the machine — always from the vendor site or official GitHub releases, never the Microsoft Store (same rule as Cursor/Enpass). Download the current Windows build for each row and install locally. Configuration for GlazeWM and Windhawk is in step 8; hardware-specific setup for Logi Options+ and NZXT CAM is on the Hardware page.
| Application | Install from | Role |
|---|---|---|
| Google Chrome | Vendor | Daily browser |
| Cursor | Vendor | IDE / editor |
| Enpass | Vendor | Password manager |
| GlazeWM | GitHub | Tiling window manager |
| Logi Options+ | Vendor | Logitech mouse & keyboard — see Hardware |
| NVIDIA App | Vendor | GPU drivers & control panel |
| NZXT CAM | Vendor | AIO pump/fans — see Hardware |
| PowerToys | GitHub | Microsoft utilities (Always on Top, FancyZones, etc.) |
| Steam | Vendor | Game library / launcher |
| Windhawk | Vendor | Taskbar shell tweaks |
4. File Explorer
Default Explorer navigation is noisy: folders I never open, “places” that change after every project, and a Network entry I do not use. I trim the left pane once per install so Quick access stays a short list of real entry points.
Quick access (left pane)
Unpin what I do not use: Documents and Videos — I never browse there. Keep: Desktop, Downloads, and Pictures. Pictures stays only for screenshots: Win+Ctrl+Shift+S saves into Pictures; I want them one click away if I need them again later.
Workspace folder:
- Create
%USERPROFILE%\Workspace(same path used for repos in Development). - Folder Properties → Customize → Change Icon — use the standard documents folder icon so it reads clearly in the sidebar.
- Right-click the folder → Pin to Quick access.
Navigation pane
- Network: hide / remove from the left menu — I do not use network browsing in Explorer.
Folder Options
Open via File Explorer → ⋯ (See more) → Options (or control folders).
Privacy tab — disable both:
- Show recently used files in Quick access
- Show frequently used folders in Quick access
Without this, Windows keeps injecting “frequent” locations into the left pane; that fights a fixed layout.
View tab:
- Enable Show hidden files, folders, and drives (show hidden items).
- Disable Hide extensions for known file types (show file name extensions).
5. Registry
Some Explorer and desktop clutter has no sensible toggle in Settings. I change a small set of keys once per install.
Open Registry Editor: Win+R → type regedit → Enter.
HKEY_LOCAL_MACHINE paths need an elevated editor (Run as administrator). After Explorer/desktop tweaks: close Registry Editor, then right-click the desktop → Refresh so the shell picks it up.
Enable Win32 long paths (required for development)
Problem: Windows limits paths to 260 characters by default (MAX_PATH). Deep trees, Python .venv, and React node_modules then fail in opaque ways — copy errors, broken installs, scripts that “just stop” with no clear reason.
Fix (admin regedit):
- Go to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem - Set or create DWORD (32-bit)
LongPathsEnabled→ Value data1. - Reboot once (or sign out/in) so tools and Explorer pick it up.
Do this on every dev machine before heavy npm / pip work. Some older apps may still need their own long-path support; this switch removes the OS-wide block.
Disable Gallery in File Explorer
Gallery in the navigation pane is unused noise for me.
- Go to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c} - Right-click in the right pane → New → DWORD (32-bit) Value.
- Name:
HiddenByDefault - Value:
1
Hide “Learn about this picture” on the desktop (keep Spotlight wallpaper)
I keep Windows Spotlight rotating wallpapers — I like them. I only remove the desktop entry “Learn about this picture” / picture info that sits on top of the wallpaper.
- Go to:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel - Right-click in the right pane → New → DWORD (32-bit) Value.
- Name the value exactly (including braces):
{2cc5ca98-6485-489a-920e-b3e88a6ccce3} - Set Value data to
1→ OK. - Close Registry Editor, right-click desktop → Refresh.
6. Settings app
Open Settings with Win+I. These are the shell choices I repeat on every install.
Time & language → Date & time
Expand Show time and date in the system tray, then enable Show seconds in the clock on the system tray. Small detail, but useful when logging or comparing timestamps.
Personalization → Background
Windows Spotlight — I like the rotating Microsoft images. The desktop “Learn about this picture” entry is removed separately via Registry → Spotlight desktop icon; Spotlight itself stays on.
Personalization → Colors
- Mode: Light — I work better in bright UIs; editors and tools usually look cleaner to me. The office has light on during the day; at night I still run monitor backlighting in the background.
- Accent color: usually green or blue (whichever fits the moment).
- Transparency effects: On.
Personalization → Themes → Desktop icon settings
- Recycle Bin: left enabled (the one desktop icon I keep).
- Everything else (Computer, User’s files, Network, Control Panel, etc.): off — empty desktop except the bin.
Bluetooth & devices → Mouse
I use a custom cursor scheme every time — default Windows pointers feel bland after a day. Pick a pack you like (.cur / .ani + install.inf, no random .exe installers), install it, then Mouse → Additional mouse settings → Pointers and select the scheme.
Suggestion: Bibata Cursor on GitHub — open source, several themes, solid for coding. Browse more on Open Cursor Library if you want alternatives.
Personalization → Lock screen
- Background: Windows Spotlight (same idea as the desktop wallpaper).
- Get fun facts… on lock screen: can stay with Spotlight if you want; Widgets on lock screen and widget suggestions: Off — not for me.
Accounts → Sign-in options (sign-in screen)
Use the same Spotlight-style look on the sign-in screen where offered; keep widgets / suggestions off here as well.
Personalization → Start
After the latest Windows 11 updates I use the default Start menu again. I used to change it via Windhawk; the new layout is clear enough that I left it stock. The old Windhawk Start mod is not compatible with the current menu yet — see Windhawk below.
Personalization → Taskbar
The taskbar is always visible — it is my main compass on three monitors.
Taskbar items
- Search: Hide — I never use taskbar search; it is in the way.
- Task view, Widgets, Chat / Copilot (and similar extras): Off.
- Show emoji and more (touch keyboard, emoji panel, etc.): Off — including the on-screen keyboard shortcut in the tray defaults.
System tray icons
- Turn off every optional icon you do not need.
- Leave on: the hidden icons overflow menu (chevron) so background apps stay reachable without cluttering the bar.
Taskbar behaviors
- Taskbar alignment: Center — works with Windhawk’s Start button always on the left mod so Start sits left while app buttons stay centered.
- Automatically hide the taskbar: Off — bar stays present; no auto-hide tricks.
No further taskbar experiments beyond Windhawk’s three mods.
7. Development
- Enable Win32 long paths in the Registry before cloning large repos.
- Docker Desktop only when container projects are in use.
devscriptslayout anddevstartas in devstart.- Repos under
%USERPROFILE%\Workspace— see File Explorer → Workspace; Git global config (user.name,user.email,init.defaultBranch).
8. Window management
Tiling and taskbar tweaks come after the stock shell is configured — they sit on top of the settings above.
GlazeWM
GlazeWM is a lightweight tiling WM for Windows. I use it because floating windows and manual snapping do not scale on three monitors: GlazeWM tiles and focuses predictably, keeps each screen’s layout stable, and replaces the mental model I had with Windows virtual desktops — separate contexts — with something spatial: one workspace per monitor, always in the same place.
Install: from the standard install list above (GitHub release, not the Store). After install, copy and adapt the config into %USERPROFILE%\.glzr\glazewm\config.yaml.
My layout: three monitors → three workspaces, each bind_to_monitor (0 = left, 1 = center, 2 = right). I do not use the default nine workspaces spanning all screens; that felt like fighting the hardware. With keep_alive: true, each desk stays available on its monitor like a dedicated virtual desktop per display. One or two monitors: drop or renumber workspaces and fix bind_to_monitor to match your setup.
Reference file (not in the site nav; view or copy from the built site):
Windhawk
Windhawk is a small customization layer for Windows: community mods patch shell behavior without replacing the whole UI. Installed from the standard install list; then enable a fixed short list of mods in the app.
Why it is useful: a few taskbar interactions are faster than Windows defaults — middle-click to close matches browser muscle memory, a left-aligned Start button matches how I read the bar left-to-right, and volume on scroll avoids opening the flyout ten times a day. Each mod solves one concrete habit; nothing flashy.
Why I stop at three mods: stacking Windhawk mods quickly hurts the stock Windows 11 shell more than it helps — spacing, animation, and focus quirks add up, and many mods feel half-polished (edge cases after sleep, multi-monitor, or an update). The catalog has cool ideas; I treat it as a spice rack, not a redesign. GlazeWM already changes how windows work; Windhawk only patches the taskbar where it still pays off. I no longer use Windhawk for the Start menu layout — see Settings app → Start.
| Mod | What it does |
|---|---|
| Middle click to close on the taskbar | Close a program with middle-click on its taskbar button instead of opening another instance. |
| Start button always on the left | Keep the Start button on the left even when taskbar icons are centered (Windows 11). |
| Taskbar Volume Control | Change system volume by scrolling over the taskbar (or elsewhere with modifier keys). |
Install each mod from Windhawk’s built-in marketplace after the main app is installed; no extra download sites.
9. Final checks
- Generate SSH key; add to GitHub / GitLab.
- Keep secrets out of repos; store them in Enpass (see Applications → Vendor installers).
- Smoke test: terminal,
git clone, build/run a reference project,devstartfor a known project.