GUIDA 📖 4 min lettura

Windows Dev Environment Setup

Setup completo da zero: winget, Scoop, WSL2, Git, Node.js, Python, Docker e tools essenziali

Windows Dev Environment Setup

Indice

  1. Windows Terminal & PowerShell
  2. Package Managers
  3. WSL2
  4. Git & GitHub CLI
  5. Node.js (fnm)
  6. Python (pyenv-win + uv)
  7. Editor & IDE
  8. Docker
  9. Tools Extra

1

Windows Terminal & PowerShell

# Installa Windows Terminal e PowerShell 7
winget install Microsoft.WindowsTerminal
winget install Microsoft.PowerShell

ℹ️ PowerShell 5 vs 7

Windows include PowerShell 5.1 di default. PowerShell 7 è la versione moderna, cross-platform e con più features. Usala!

Oh My Posh (Prompt Moderno)

winget install JanDeDobbeleer.OhMyPosh
oh-my-posh font install FiraCode

# Crea/modifica profilo PowerShell
notepad $PROFILE

Configura $PROFILE

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\catppuccin.omp.json" | Invoke-Expression

# PSReadLine - Autocompletamento
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView

2

Package Managers

ManagerProQuando Usarlo
wingetIntegrato, ufficiale MicrosoftApp GUI, software mainstream
ScoopPortable, no admin, CLI-focusedDev tools, utilities CLI
ChocolateyPiù pacchetti, maturoSoftware legacy, enterprise

winget (Pre-installato)

winget search vscode
winget install Microsoft.VisualStudioCode
winget upgrade --all

Scoop (Consigliato per Dev Tools)

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

scoop bucket add extras
scoop bucket add nerd-fonts
scoop install git curl wget jq ripgrep fzf

3

WSL2 (Windows Subsystem for Linux)

WSL2 ti permette di eseguire Linux nativamente su Windows. Essenziale per sviluppo web moderno.

# PowerShell (Admin)
wsl --install

# Riavvia il PC, poi:
wsl --version
wsl --install -d Ubuntu-24.04

Integrazione VS Code

Installa l’estensione “WSL” in VS Code per editare file Linux direttamente. Usa code . da WSL per aprire VS Code.

Accedi ai File

# Da Windows ai file WSL:
\\wsl$\Ubuntu\home\tuouser

# Da WSL ai file Windows:
/mnt/c/Users/TuoUser

4

Git & GitHub CLI

winget install Git.Git
winget install GitHub.cli

Configurazione Git

git config --global user.name "Il Tuo Nome"
git config --global user.email "tua@email.com"
git config --global core.editor "code --wait"
git config --global init.defaultBranch main
git config --global core.autocrlf true  # Importante su Windows!

SSH Key

ssh-keygen -t ed25519 -C "tua@email.com"
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboard

5

Node.js con fnm

winget install Schniz.fnm

# Aggiungi al $PROFILE
notepad $PROFILE
# Inserisci: fnm env --use-on-cd --shell power-shell | Out-String | Invoke-Expression

fnm install --lts
fnm default lts-latest

node --version
npm --version

# Package manager
npm install -g pnpm

6

Python con pyenv-win + uv

# Con Scoop
scoop install pyenv

# Installa Python
pyenv install 3.12.0
pyenv global 3.12.0
python --version

# Installa uv
scoop install uv

# Comandi uv
uv init mio-progetto
uv add requests pandas
uv run python main.py

7

Editor & IDE

winget install Microsoft.VisualStudioCode

# Estensioni essenziali
code --install-extension ms-python.python
code --install-extension dbaeumer.vscode-eslint
code --install-extension esbenp.prettier-vscode
code --install-extension eamodio.gitlens
code --install-extension github.copilot
code --install-extension ms-vscode-remote.remote-wsl

8

Docker

winget install Docker.DockerDesktop

⚠️ Requisiti

  • Windows 10/11 Pro, Enterprise o Education per Hyper-V
  • Su Windows Home, Docker usa WSL2 backend
  • Virtualizzazione abilitata nel BIOS

9

Tools Extra

scoop install curl wget jq yq tree bat eza ripgrep fzf tldr

winget install Microsoft.PowerToys
winget install voidtools.Everything
ToolDescrizione
batcat con syntax highlighting
ezals moderno con icone
ripgrepgrep velocissimo
fzffuzzy finder
PowerToysUtilities Microsoft
EverythingRicerca file istantanea

Export/Import Setup

winget export -o winget-packages.json
scoop export > scoop-packages.json

# Su nuovo PC
winget import -i winget-packages.json
scoop import scoop-packages.json