In Windows PowerShell:
# Setup SSH agent (requires admin rights)
Set-Service ssh-agent -StartupType Manual
# Generate an SSH key and add it to the ssh-agent (for github, etc.)
ssh-keygen -t ed25519 -C "[email protected]"
ssh-add ~/.ssh/id_ed25519
# Install scoop
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
# Setup scoop
scoop install git
scoop bucket add extras
scoop bucket add versions
scoop bucket add nerd-fonts
# Configure git
git config --global user.email "[email protected]"
git config --global user.name "Tolga Y. Ozudogru"
-
First, install Visual Studio Code as you will need it:
scoop install vscode
-
Install MYSYS2:
scoop install MSYS2
Update home directory config in
/etc/nsswitch.conf
under<scoop_dir>/apps/msys2/current
as follows:db_home: windows
Run MSYS2
msys2
-
Install terminal related packages:
# Terminal stuff scoop install busybox cmder-full colortool cwrsync fzf pshazz starship sudo # Fonts scoop install 0xProto-NF AnonymousPro-NF CascadiaCode-NF CodeNewRoman-NF CommitMono-NF Cousine-NF D2Coding-NF DejaVuSansMono-NF DroidSansMono-NF FiraCode-NF FiraMono-NF Hack-NF Inconsolata-NF RobotoMono-NF SourceCodePro-NF SpaceMono-NF Terminus-NF Ubuntu-NF UbuntuMono-NF
-
Install fish shell:
# fish shell pacman -S fish # fisher and some plug-ins curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher fisher install edc/bass jorgebucaran/autopair.fish jethrokuan/z
Copy fish settings from your previous installation to
~/.config/fish/
. -
Configure starship:
Copy
starship.toml
from your previous installation to~/.config/starship.toml
.Add starship initialization to
~/.config/fish/config.fish
:# Initialize starship.rs starship init fish | source
Add starship initialization to
$PROFILE
(located atC:\Users\<USERNAME>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
):# Initialize starship.rs Invoke-Expression (&starship init powershell)
-
Configure Windows Terminal:
Update Windows Terminal from the Microsoft Store.
Copy
settings.json
from your previous installation.MSYS2 launch command:
%UserProfile%\scoop\apps\MSYS2\current\msys2_shell.cmd -use-full-path -defterm -here -no-start -ucrt64 -shell fish
# Windows desktop runtime (requires admin rights)
sudo scoop install windowsdesktop-runtime-6.0 windowsdesktop-runtime-lts windowsdesktop-runtime
sudo scoop uninstall windowsdesktop-runtime-6.0 windowsdesktop-runtime-lts windowsdesktop-runtime
# Dev stack
scoop install python pyenv pipx uv ruby nodejs gh docker typst tectonic bruno winscp sqlyog-community
# Monitoring & tools
scoop install rufus driverstoreexplorer hwinfo hwmonitor coretemp cpu-z gpu-z ssd-z uninstalr winaero-tweaker spacesniffer ddu msklc qmk-toolbox open-log-viewer
# Applications
scoop install 7zip altus chatgpt deeplx discord ffmpeg firefox flameshot googlechrome handbrake iptvnator microsoft-teams mpv-git ollama-full raindrop.io spotify stremio telegram transmission vlc yt-dlp zoom
# PostgreSQL must be installed globally (requires admin rights)
sudo scoop install postgresql --global
# Non-portable apps (requires admin rights – not tested)
scoop bucket add nonportable
sudo scoop install dropbox-np teracopy-np protonvpn-np
# Install python versions using pyenv
pyenv install 3.9.13 3.10.11 3.11.9 3.12.8 3.13.1
pyenv global 3.13.1
# Add Git Credential Manager as a context menu option by running:
Invoke-Expression "reg import ""$(scoop prefix git)\install-context.reg"""
# Add 7-Zip as a context menu option by running:
Invoke-Expression "reg import ""$(scoop prefix 7zip)\install-context.reg"""
# Add Visual Studio Code as a context menu option by running:
Invoke-Expression "reg import ""$(scoop prefix vscode)\install-context.reg"""
# For file associations, run:
Invoke-Expression "reg import ""$(scoop prefix vscode)\install-associations.reg"""
# For github integration, run:
Invoke-Expression "reg import ""$(scoop prefix vscode)\install-github-integration.reg"""
# Register PostgreSQL as a service:
pg_ctl register -N PostgreSQL
# Install WSL
wsl --install
scoop install python pyenv pipx uv ruby nodejs gh docker typst tectonic bruno winscp sqlyog-community rufus driverstoreexplorer hwinfo hwmonitor coretemp cpu-z gpu-z ssd-z uninstalr winaero-tweaker spacesniffer ddu msklc qmk-toolbox open-log-viewer 7zip altus chatgpt deeplx discord ffmpeg firefox flameshot googlechrome handbrake iptvnator microsoft-teams mpv-git ollama-full raindrop.io spotify stremio telegram transmission vlc yt-dlp zoom