Indice
- Windows Terminal & PowerShell
- Package Managers
- WSL2
- Git & GitHub CLI
- Node.js (fnm)
- Python (pyenv-win + uv)
- Editor & IDE
- Docker
- 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
| Manager | Pro | Quando Usarlo |
|---|---|---|
| winget | Integrato, ufficiale Microsoft | App GUI, software mainstream |
| Scoop | Portable, no admin, CLI-focused | Dev tools, utilities CLI |
| Chocolatey | Più pacchetti, maturo | Software 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
| Tool | Descrizione |
|---|---|
bat | cat con syntax highlighting |
eza | ls moderno con icone |
ripgrep | grep velocissimo |
fzf | fuzzy finder |
| PowerToys | Utilities Microsoft |
| Everything | Ricerca 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