Windows 11 & WSL setup
The image you are looking at is a screenshot of a WSL Ubuntu terminal in Windows 11. The top bar is an app called GlazeWM. You can follow this repository to get a similar setup.
Table of Contents
Windows 11 & WSL setup
1. Windows account & configuration
1.1. Windows account
1.2. Windows configuration
2.1. Web Browsers:
2.2. Messaging
2.3. Meetings and Video Conferences
2.4. Media, Music, and Entertainment:
2.5. Image & Video Editing:
2.6. Documents, Storage & Editing:
2.7. Gaming:
2.8. Security & Privacy
2.9. Utilities
2.10. Development & Programming
3. Coding using Linux (WSL) inside Windows
3.1. Install WSL:
3.2. Linux/WSL Setup - terminal, shell, Miniconda, CUDA & More:
3.3. WSL2 Utilities, Tips & Tricks :
3.4. backup and restore WSL
3.5. Uninstall WSL:
Get started with one command (PowerShell):
1. Windows account & configuration
1.1. Windows account
If you already have a key: activate windows with your key
If you don't have a key, you can buy one for a small price.
If you have a key in your old computer, you can use it in your new computer: If you didn't save the key in your account, you need to do this before resetting your old computer
On your old PC, check if the key is not an OEM by running
Slmgr /dli
Get your license key (if you forgot the serial number, use software like :
Deactivate it in Windows terminal by using administrator mode with
slmgr /cpky
Activate it on the new computer using
slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
1.2. Windows configuration
π Save your key: Connect windows with your Microsoft/Outlook account to save and link the key to your account
π Activate localization on windows (if you want to localize your device)
π Activate bitlocker to encrypt your data (Exists only on Windows pro, education and enterprise edition)
π₯οΈ When placing an external monitor that runs 144HZ, make sure to activate the
144Hz
in display settingsβ οΈ If you're using OneDrive, careful when you sync your Desktop and Windows specific folders, you can face some problems. My advice is to avoid syncing Windows default folders (like Desktop, Documents). Unsyc everything (Desktop, Documents...) Just use OneDrive as a cloud store like Google Drive. If you don't use it, you can uninstall it.
π€ Sleep mode with or without screen lock here
If you have a 3200mhz RAM, and it runs bellow this frequency, activate XMP profile in the BIOS
Turn off usb ports and pc lights when in sleep mode in the BIOS
π§Audio settings
If you have bluetooth and audio devices, you can sort them in audio settings → use as default for both audio and communications.
You can also deactivate some audio devices if the are unused in the audio settings. Check this link
Deactivate lowering communication sounds in advanced audio settings.
Monitor and display settings:
Change the display settings if you want to adjust the refresh rate, resolution, etc. (windows + p) → display settings
Disconnect/extend/duplicate a monitor if you have multiple ones (windows + p) → display settings → select the monitor -> next to identify, select the right option. Or use DisplayFusion (paid).
Remember, each monitor configuration requires its own settings adjustments. Here's how it works:
If you have one monitor and customize the refresh rate, then you moved to two monitors, you need to adjust the refresh rate for this new configuration. Next time when you switch between a single monitor and a dual monitor, Windows will remember your settings for both configurations.
If you switch to three monitors, you need to customize the settings (like the refresh rate) for each one for this new configuration (triple monitor settings),
When you return to the two-monitor/ single monitor setup, Windows will remember your previous settings, so you won't need to change them again.
You nca use DisplayFusion if you want to easily configure displays and monitors. For example, you can create a configuration to use two monitors, and a configuration to use only one and turn off the second, a configuration to use the tv only ...etc.
Display Fusion configurations are meant to be used when you don't need to turn off manually the monitors ...etc. So if you have a TV, no need to change the configuration from monitors to TV. You just need to turn off the monitors, and turn on the TV; Windows will recognize that there is a change in the displays and will use the TV.
Gaming:
Full-screen games optimization: uncheck “disable fullscreen optimization” for the .exe. You will get a fast alt tab (only on the latest windows versions). Example: Make your way to the following file location on your desktop: C: \Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game. The goal here is to locate the CS2.exe file.
Windows UI/UX Tips:
Hide the Windows taskbar (right-click on the taskbar -> taskbar settings-> taskbar behavior (at the bottom) -> automatically hide the taskbar).
Pin some folders and drivers, Recycle Bin in the file explorer. Fast browsing: right-click on the file explorer in the taskbar to show the shortcut to the pinned folders.
Auto lock screen after x minutes of inactivity: search for
screen saver
in windows and select the number of minutes before your computer auto locks itself.Show Files extensions: In File Explorer under View, in the Show/hide group, select the File name extensions check box.
You can change your power management options (when windows will be put to sleep, what happens when you close your laptop. Ect), performance vs normal usage.
You can convert a website to an application, for example, Google Agenda/ Netflix in Edge/Brave/Chrome, go to At the top right: More -> More Tools -> Create shortcut and check window mode, it will run like an app in your Windows desktop
Remove unnecessary programs, unnecessary icons from the start menu and add others like Maps, meteo & calendar
Deactivate startup programs that you don't need.
Always use the Windows search bar to search for functionalities, settings, apps, files, folders, and more. Even the deep settings are accessible from the search bar.
You can use PowerToys to search for files, folders, and more. It's faster than the Windows search bar but does not contain deep settings.
Other apps, websites and tips: (DEPRECATED)
Take a look at Windows 11 subreddit & Awesome Windows 11
2. Software
Automatic installation of these apps is available with this command:
2.1. Web Browsers:
Brave (or Edge or Firefox). Remember to change your sync settings bookmarks...ect. use two browsers: one for work and the other for personal use on your work computer.
browser_extensions.md: useful extensions for productivity & security
2.2. Messaging
Social networks: Facebook Messenger, Discord, WhatsApp, Viber, Telegram, Snapchat, Instagram
Agenda & Mail: Google Calendar, Gmail
create an app shortcut with brave & add them to the taskbar it will act like an app in windows, and activate the notifications.
You can change the theme and prioritize stuff like notifications (all new emails), signature...etc.
Download their desktop notifications extensions: Desktop notifications for Gmail & Desktop notifications for Google calendar
Make Brave the default apps in windows for mailto and agenda (Windows search bar -> type in
Default apps
then add brave to 'mail' & 'agenda.' Go to brave://settings/handlers and add gmail and agenda. Open now the gmail website and accept brave as the default app.
2.3. Meetings and Video Conferences
Zoom, Microsoft Teams, Google Meet, Discord. Use the browser or the webview version for better performance and less memory usage.
2.4. Media, Music, and Entertainment:
Video player :VideoLAN VLC
Music player: Spotify, Apple Music
Streaming Services:
Netflix, Prime Video, MyCanal ...ect. Browser is better in terms of stability, lists, content and vpn use. On the other hand, Netflix from the store app and Netflix on Edge browser can handle 7.1 and 4k streaming.
Stremio with Debrid (to replace Netflix, Prime Video, Disney+, Spotify, Apple Music). Check my personal settings here)
2.5. Image & Video Editing:
Software recording: OBS Studio
Video editing: Creative Cloud (Adobe première pro), CapCut, Microsoft Clipchamp, Canva
Image editing: Adobe Photoshop or free alternative Photopea
2.6. Documents, Storage & Editing:
Cloud Storage: Google Drive, Microsoft OneDrive, iCloud, Mega Drive (free 50GB)
Files explorer: Files (Check my personal settings here)
Files editing: Microsoft 365, Office 2021
PDF Editing: Adobe Acrobat Reader DC, Sejda (3 free tasks per hour)
2.7. Gaming:
Games launcher: Valve Steam, Epic Games Launcher, Nvidia GeForce Experience, Ubisoft Connect, SideQuestVR, Oculus, Xbox Game Pass, EA Desktop
Game streaming: Parsec, Nvidia GeForce Now
Game recording: OBS Studio or native Windows screen recorder
β + G
orβ + alt + R
Game utilities: DS4Windows, Nvidia GeForce Experience (For Nvidia GPU)
2.8. Security & Privacy
VPN: ProtonVPN or NordVPN
Torrent client: qBitTorrent
Remote Desktop: AnyDesk
Antivirus: Windows defender or Kaspersky Cloud free
2.9. Utilities
Audio: EarTrumpet
Screenshot: ShareX : Screen capturing with regions and GIF recording, use
ctrl + print
(you can also import your settings, follow this link)Password manager: iCloud Passwords (available on Windows and has even a 2FA that automatically provide you with codes) if you have an iPhone or Bitwarden
Desktop enhancements:
Microsoft Bing Wallpaper. Change your wallpaper every day with Bing's wallpaper.
GlazeWM (tiling window manager). Check my personal settings here
Wintoys :
You can use this app to access easily the most used settings in Windows.
Set up, debloat, optimize, repair, and tweak your operating system in a simple, time-saving, yet safe approach.
For example, you can use this app to stop and uninstall Windows apps like 'Dev Home.'that can't be uninstalled using Windows or using Revo Uninstaller
Microsoft PowerToys. My personal shortcuts & tips & settings for this app here
DisplayFusion. Check my personal settings here
Revo Uninstaller
HWiNFO (Link to my settings here
CCleaner
2.10. Development & Programming
WSL (Windows Subsystem for Linux) with Ubuntu 22.04 LTS. Check the WSL section below.
Microsoft Windows Terminal: Always use Windows terminal. It contains all the terminals in one place (ubuntu, PowerShell, wsl, cmd...ect). You can right-click on any folder to open it.
My personal shortcuts & tips & settings for this app here
PowerShell 7 : link. Change the default terminal in Windows Terminal, and activate the "run always as administrator in the default profile"
JetBrains PyCharm (Community and Professional), IntelliJ IDEA, Webstorm, WriterSide. Check my personal settings here
Docker Desktop: Requires WSL (see the WSL section). You can start, stop, delete containers easily, access & edit files right inside the container without the need of a terminal.
Sublime Text 4. Check my personal settings here
Visual Studio Code
Obsidian. Link to my settings here
Notion
Game development: Unity, Unreal Engine, Blender
SFTP: Filezilla: for SFTP (work with a private key: add it in edit/connection/sftp or use pageant)
Git emojis: https://gitmoji.dev/
explain paper: https://www.explainpaper.com/
Latex Handwriting recognition: https://detexify.kirelabs.org/classify.html
Turn math equations and snipping to latex code: https://mathpix.com/
Overleaf: https://www.overleaf.com/
3. Coding using Linux (WSL) inside Windows
The most amazing thing about WSL (WSL2.0 exactly) is: You can run Linux in Windows without the need of a virtual machine.
It's a full Linux kernel running on Windows.
You can install packages directly on Linux
Virtualization overhead is not noticeable, full integration between guest and host os's, you can run binaries compiled for MS Windows from linux.
You can navigate and communicate between ubuntu and windows as Ubuntu acts like a disk drive.
You can install conda environment in ubuntu, use GPU, use pycharm on windows to connect to WSL conda env and more.
Do not code in both OS, use, for example, pycharm or vscode on windows with a conda environment installed on WSL. The best thing is to combine the power of Windows with WSL.
3.1. Install WSL:
Automatic installation of WSL available with this command
Or manual installation: Run this command in PowerShell
wsl --install
Restart your computer
When installing WSL, it comes with Ubuntu (you can always install other distibutions from the microsoft store)
You have different options to run Ubuntu :
From windows search bar (and select ubuntu or WSL for the default distro)
Running
ubuntu
inside Windows terminalRunning
wsl
inside Windows terminal to run the default distroRunning Windows terminal and choosing ubuntu in the terminal tab section.
If it's not there, make sure you have correctly installed WSL by searching wsl in your Windows search bar & running it.
If you have Nvidia GPU & the nvidia driver is installed on Windows, you can run
nvidia-smi
on Linux. No need to install the nvidia Driver again on Linux.You can choose a default terminal when you open Windows Terminal (for example, wsl): go to settings -> default profile -> select the terminal you want to open by default.
If you have ubuntu terminal: you can add
C:\Windows\system32\wsl.exe -d Ubuntu
in the ubuntu profile to open ubuntu by default in the directory.Add systemd to wsl.conf if it's not there: run
sudo vim /etc/wsl.conf
inside linux then paste the following code:
Restart the terminal and run
systemctl list-unit-files --type=service
in WSL to see some processes running.If you have an ssh key in windows in
C:\Users%UserProfile%.ssh
, copy it (both keys) to linux~/.ssh
folder or using Windows file explorer or power toys\wsl$\Ubuntu\home%USERNAME%.ssh
and change its rights using:chmod 600 ~/.ssh/id_rsa
andchmod 600 ~/.ssh/id_rsa.pub
.If you don't have an SSH key, generate a new SSH key using:
ssh-keygen -t rsa
inside linux (when prompted, you can enter an empty password).Jump to the next section to configure your WSL /Ubuntu.
3.2. Linux/WSL Setup - terminal, shell, Miniconda, CUDA & More:
After installing WSL, you have now ubuntu running inside windows. Follow these guides containing an automated script to customize your terminal, shell, install Miniconda, CUDA, and more:
1. Linux Setup Guide: A set of configurations, dotfiles and a script to automatically set up a powerful terminal & shell utilities(zsh, fzf...), themes like Powerlvl10k, Conda, GPU drivers, and more on Linux/WSL2.
2. Windows, WSL & apps settings/tips
3.3. WSL2 Utilities, Tips & Tricks :
Take a look at awesome-wsl
A surprising number of Linux GUI apps can run on WSL. GUI applications are officially supported on WSL2 and referred to as WSLg (No installation required).
Find WSL path:
\wsl$\Ubuntu\home
or\wsl$\Ubuntu
then ping it in Windows Explorer's sidebar.You can use
wslpath
command to convert a Windows path to wsl path:wslpath 'C:\Users\AmineDjeghri\Desktop'
Folder size for current directory:
du -h
,du -h | sort -h
. For specific directory:du -h /folder
wsl disk usage:
df -h
look on the right column 'Mounted on,' ordf -h /mnt/wslg/distro
Reclaim disk space :
it requires docker Dashboard for WSL2, and 2 hyper V params in the Control Panel.
Install this https://superuser.com/a/1307442/769637 install the Hyper-V Platform | Hyper-V Services part, too + restart)
in Administrator Mode:
wsl --shutdown
thencd 'C:\Users%UserProfile%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState'
thenoptimize-vhd -Path .\ext4.vhdx -Mode full
for more information, check this: these https://askubuntu.com/a/1380274 + https://github.com/microsoft/WSL/issues/4699 +
To change the default distro or fix the
wsl
command to start your distro from powershell not working, you can do:
You can enter ubuntu with different ways: clicking on Shortcut (Orange), or running 'wsl' in Windows terminal, or running 'ubuntu' in Windows terminal, or selecting the right profile in the tab in Windows terminal.
To open Ubuntu terminal from current location: go to Windows terminal -> parameters -> profiles -> ubuntu -> command line (under name) and change it to
ubuntu run
.Now, go to desktop and right-click to open a Windows terminal, run 'wsl'; you should see that ubuntu started from the current location.
(pycharm) Use WSL/ubuntu as the default terminal in pycharm:
settings -> tools -> terminal
and put in a shell path:ubuntu run
(pycharm) Add WSL conda interpreter in Pycharm (add interpreter -> WSL -> conda) and select the global conda:
/home/amine/miniconda3/bin/conda
. Then click on load environments, and it will automatically detect all the conda envs.
3.4. backup and restore WSL
You can export wsl image after finishing all the steps to save it in case you move to a new computer :
wsl --terminate ubuntu
wsl --shutdown
wsl --export Ubuntu E:\ubuntu.tar
3.5. Uninstall WSL:
Uninstall all distributions & WSL from the control panel & open Windows Features, then turn on (check) Windows Subsystem for Linux. Restart your computer.
4. More (deprecated)
Add more Desktop icons (PC, Downloads...): Personalization->themes->desktop icon settings
Use Quiet Hours and add only the applications that you want them to send you a notification, (Brave will still send you notifications to get BAT, but it will never appear)
Windows partition: use the window partition integrated software to create, delete or format partitions
If you consider buying a computer with a GPU for Deep Learning, choose a computer with an NVIDIA GPU that supports CUDA (preferably > RTX 2000 series).
Wifi & Router 5ghz:
Deactivate WPS
Make your Wi-Fi invisible,
Choose 5ghz over 2.4ghz: if your device is connected to a Wi-Fi, and it keeps switching between 5ghz and 2.4ghz do the following:
If it's your Wi-Fi: split your Wi-Fi into 2 access points, one for 5Ghz and the other for 2.4Ghz. After that make your PC connect to the 5Ghz one only
If it's not your Wi-Fi (hotel/work Wi-Fi) and you have an ethernet port, you can always plug a router (example, HONOR ROUTER 3 WI-FI 6) and have your own private network. You can split the Wi-Fi into 2 access points like I mentioned it in the section above.