Skip to content

About

All files and instructions needed to setup Home/Work machine under Windows 11

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Install blank machine to full operating mode

All files and instructions needed to setup Home/Work machine under Windows 11

This is not usual "setup" guide; this is more quick and efficient guide (and mostly reminder to myself 😀) how to setup blank machine with least amount of effort.

Also, this targets minimum applications (core) + specific ones for home usage/development (home). Given that this is higly dependent on what you actually use PC for, it is not universal list 😄

I believe that general principles (MS Store, WinGet + Cloud storage) can be applied to everyone:

  • Any created artifact (= files) and configuration store on cloud storage/GitHub
  • Make installation breeze, using automation (MS Store / WinGet) and minimalist approach what is actually needed
  • Use existing mechanisms (VS Code Settings Sync, PyCharm Settings Sync, cloud for file based settings) to sync various details between workplaces
  • Finally, I suggest that for testing and fine tuning you use Windows Sandbox, excellent low profile Win instance. You can install winget in Sandbox via Windows PowerShell, details here. Do not forget to add -Scope AllUsers given that bunch of applications are system ones. Here is that script, but "verbose" version:
Install-PackageProvider -Name NuGet -Force
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery -Scope AllUsers
Repair-WinGetPackageManager
Notes about Microsoft.PowerShell.Management\Test-Connection : Access is denied.

In case above fails with Microsoft.PowerShell.Management\Test-Connection : Access is denied. try to repair with this:

winmgmt /resetrepository
Restart-Service Winmgmt

and try again.

Notes about Sandbox
  • Last command often fails for first time, so expect to repeat it.
  • For some strange reason, if your Sandbox have "Region" (System / Time & language / Language & region ) set to World some installations (Windows Terminal, for example) will fail. Just set proper Region before running first WinGet installation.

Having that, I split installation into three phases:

  1. Essential - for OS and core (Cloud services)
  2. Core Applications - mandatory ones, no matter type of machine (Home/Work) is in question
  3. Rest - either for fun/hobbies or just addition to previous list

Essential

  • Windows 11, fully patched (Windows 10 will do, but I do not see point of using EOL operating system)
  • Cloud storage; any will do, but I prefer those which are mirrored on file system (Google Drive, OneDrive) - easier to work with
  • App Installer (WinGet) - now, part of Windows 11 installation
  • YU Keyboard from vesic.org
    • This is "local" solution for typing accent characters (ćčšđžĆČŠĐŽ) for Balkan nations (Serbian, Bosnian, Croatian, Slovenian...) on non-YU keyboards.
    • To be fair to others, won't put it in CORE / HOME packages, but leave in optional section :-)

MS Store

Why MS Store? One time install, tied to MS Account, easy to install on other machine, auto-update...Also, some of applications simply can't be installed over winget, at least for now.

UPDATE: got couple of comments that this installation is "Store heavy", offering less flexibility than "pure" winget installation. Having that in mind, this version of installation is moved toward that goal - only actual winget and Windows Notepad should be installed over MS store - everything else can be done over winget itself:

Once WinGet is installed, you are ready to install Core applications:

Core Applications

winget import -i .\winget\winget-core.json --accept-package-agreements
Reference: Bulk export/import with WinGet
  • Application list export: winget export -o .\winget-export.json
  • Bulk import: winget import -i .\winget-export.json --accept-package-agreements

FiraCode font

My work relies on CMD/Windows terminal prompt; one great resource for that is FiraCode font, monospaced font for development, or more recently Fira Code Nerd Mono (choose to your liking).

Install it last, after all other software and then enable ligatures for Windows Terminal, VS Code and PyCharm. If you use Oh My Posh, instructions for installation are below.

List of core applications

Essentials

Media (video/image)

Browsers

  • Opera.Opera
    • Launching Opera w/o proxy: C:\Users\dvesic\AppData\Local\Programs\Opera\launcher.exe --no-proxy-server="
  • Mozilla.Firefox.DeveloperEdition FireFox Developer Edition, as complement to Chromium based browsers.

Tools

  • PDFsam.PDFsam - PDFsam Basic: split, merge, extract pages, rotate and mix PDF files
  • WinsiderSS.SystemInformer - A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware.

Home Applications

winget import -i .\winget\winget-home.json --accept-package-agreements

List of applications

Development / Python

  • Git.Git
    • git config --global user.name "dvesic"
    • git config --global user.email "Dejan@Vesic.Org"
    • git config --global credential.helper store
    • (credentials are stored in the ~/.git-credentials file; you can edit this file to remove or update your stored credentials.)
    • Check for update: git update-git-for-windows
    • For WSL: git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"
  • GitHub.cli
  • dbeaver.dbeaver - Universal database tool
  • WinMerge.WinMerge - Open Source differencing and merging tool for Windows
  • JetBrains.PyCharm.Professional All purpose editor and IDE for Python. There is community (free) edition as well.
  • WinSCP.WinSCP
    • Use /ini to point out to cloud settings file: winscp.exe /ini="G:\My Drive\Utils\WinSCP\WinSCP.ini"
  • Microsoft.WSL MS Windows Subsystem for Linux

Cloud

Various Tools

  • SumatraPDF.SumatraPDF - brilliant application for PDF, eBook (epub, mobi), comic book (cbz/cbr), DjVu, XPS, CHM and image viewer for Windows.
    # Initial setup: ESC for exit and do not remember open files between sessions
    sd 'EscToExit = false' 'EscToExit = true' $Env:LOCALAPPDATA\SumatraPDF\SumatraPDF-settings.txt
    sd 'RememberOpenedFiles = true' 'RememberOpenedFiles = false' $Env:LOCALAPPDATA\SumatraPDF\SumatraPDF-settings.txt

Communication

Misc

Gaming / fun

Optional HOME applications

# YU-US keyboard by Vesic.Org
# More details here:
# https://www.vesic.org/blog/mikrosoft/windows/instalacija-us-yu-tastature-preko-winget/

winget install -e --id Vesic.Org.US-YU.keyboard --source winget

# Full 365 Office suite
winget install -e --id Microsoft.Office

winget install -e --id AnyDeskSoftwareGmbH.AnyDesk

winget install -e --id Microsoft.Sysinternals.RDCMan

winget install -e --id MKVToolNix.MKVToolNix
winget install -e --id GuinpinSoft.MakeMKV

winget install -e --id GlenSawyer.MP3Gain

winget install -e --id Garmin.GarminExpress
winget install -e --id LIGHTNINGUK.ImgBurn

winget install -e --id Dell.CommandUpdate.Universal
winget install -e --id Logitech.UnifyingSoftware

winget install -e --id Gyan.FFmpeg

winget install -e --id yt-dlp.yt-dlp

# Open source MarkDown editor
winget install -e --id MarkText.MarkText

Changing WSL shell to zsh

Given that WSL is native accompanuing environment for development, it deserves probably same set of instrutions / applications as for Windows above.

For start, I am just leaving script which installs zsh instead of default bash shell:

  1. Copy setup_zsh.sh to WSL environment
  2. Make it executable: chmod +x setup_zsh.sh
  3. Run it: ./setup_zsh.sh

Finally, adjust/check if your Windows Terminal profile for Ubuntu:

  • Uses FiraCode Nerd Font Mono as font for profile
  • Make sure that Additional setting / Apearance / Builtin Glyphs is turned on

Archive

Section for sofware which is either made obsolete (with native applications of Windows 11) or replaced with alternative. Also, any configuration details which are important post-installation.

  • Microsoft.WindowsTerminal - Here are details how can you keep your configuration on cloud storage.
    • Currently, there is no option to change Setting folder of Windows Terminal. In order to correct that (and store it on cloud storage), here is Powershell script: WinTermSetSym.ps1 for removing "original" and re-mapping to cloud folder with settings (run elevated):
Remove-Item -Force -Recurse -Path "$Env:LocalAppData\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState"
New-Item -ItemType SymbolicLink -Path "$Env:LocalAppData\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState" -Target "$env:OneDriveConsumer\Utils\WindowsTerminal\LocalState"
  • Microsoft.OpenSSH.Beta Not needed anymore. Windows 11 has built in SSH. Here is PowerShell script to check / enable (elevation needed): SSHCheckAndInstall.ps1

    • You can use OpenSSL for key generation: ssh-keygen.exe -t ED25519 -f id_ed25519
      • Keys should be stored in "%USERPROFILE%\.ssh"
      • In case of permission rights problems on Windows, do following:
      icacls .\id_ed25519 /inheritance:r
      icacls .\id_ed25519 /grant:r "${env:USERNAME}:(F)"
  • Microsoft.Edit - Nostalgia :-) Very simple editor from MS-DOS times. Part of Windows 11 installation, no need for separate install

    • in Ubuntu, you could install it with: sudo snap install msedit
  • Ghisler.TotalCommander. Settings for shortcut, to use cloud based ini files:

    • TOTALCMD64.EXE /i="G:\My Drive\Utils\totalcmd\wincmd.ini" /F="G:\My Drive\Utils\totalcmd\wcx_ftp.ini"
  • ShareX.ShareX - ShareX - Excellent open source screenshot software. Integrated Windows 11 Snipping tools is suficient for basic needs.

  • JernejSimoncic.Wget - GNU Wget - removed in favor of native curl.exe

Last updated: 2026-09-15

About

All files and instructions needed to setup Home/Work machine under Windows 11

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages