146 lines
5.5 KiB
Markdown
146 lines
5.5 KiB
Markdown
# 🚀 Ultimate Zsh Terminal Setup (WSL/Linux)
|
|
|
|
Guida completa per trasformare il terminale da "blu illeggibile" a una dashboard spaziale con icone, colori neon e info di sistema.
|
|
|
|
## 📸 Anteprima
|
|
- **Tema:** Powerlevel10k (con Instant Prompt disabilitato per compatibilità)
|
|
- **Icone:** LSD (LSDeluxe) al posto di `ls`
|
|
- **Info:** Fastfetch (più veloce di Neofetch) all'avvio
|
|
- **Font:** MesloLGS NF (Nerd Font)
|
|
|
|
---
|
|
|
|
## 1. 📦 Installazione Requisiti (WSL/Ubuntu)
|
|
|
|
Esegui questi comandi per installare i tool grafici necessari:
|
|
|
|
```bash
|
|
# Aggiorna i pacchetti
|
|
sudo apt update
|
|
|
|
# Aggiungi il PPA per Fastfetch (se necessario su Ubuntu vecchie) e installalo
|
|
sudo add-apt-repository ppa:zhangsongcui333666/fastfetch -y
|
|
sudo apt update
|
|
sudo apt install fastfetch -y
|
|
|
|
# Installa LSD (Icone colorate per i file)
|
|
sudo apt install lsd -y
|
|
|
|
# Installa Oh My Zsh (se non lo hai già)
|
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
|
|
|
# Installa il tema Powerlevel10k
|
|
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
|
|
```
|
|
|
|
## 2. 🔤 Installazione Font (Su Windows)
|
|
|
|
Passaggio **CRUCIALE**: Senza questo vedrai dei rettangoli o punti di domanda `?` al posto delle icone.
|
|
|
|
Scarica questi 4 file .ttf:
|
|
- [MesloLGS NF Regular.ttf](https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf)
|
|
- [MesloLGS NF Bold.ttf](https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf)
|
|
- [MesloLGS NF Italic.ttf](https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf)
|
|
- [MesloLGS NF Bold Italic.ttf](https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf)
|
|
|
|
1. Vai nella cartella Download di Windows, selezionali tutti, tasto destro -> **Installa**.
|
|
2. Apri **Windows Terminal** -> **Impostazioni** (o CTRL + ,).
|
|
3. Seleziona il profilo (es. Ubuntu) -> **Aspetto** -> **Carattere**.
|
|
4. Scegli **MesloLGS NF**.
|
|
5. Salva.
|
|
|
|
## 3. ⚙️ Configurazione .zshrc
|
|
|
|
Copia questo contenuto e incollalo nel tuo file `~/.zshrc` (`nano ~/.zshrc`):
|
|
|
|
```bash
|
|
# =============================================================================
|
|
# P10K INSTANT PROMPT
|
|
# Impostato su 'off' per evitare conflitti con Fastfetch su WSL
|
|
# =============================================================================
|
|
typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
|
|
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
|
fi
|
|
|
|
# =============================================================================
|
|
# ZSH MAIN CONFIGURATION
|
|
# =============================================================================
|
|
export ZSH="$HOME/.oh-my-zsh"
|
|
ZSH_THEME="powerlevel10k/powerlevel10k"
|
|
|
|
# Plugin suggeriti
|
|
plugins=(git command-not-found common-aliases history-substring-search)
|
|
|
|
source $ZSH/oh-my-zsh.sh
|
|
|
|
# =============================================================================
|
|
# HISTORY & KEYBINDINGS
|
|
# =============================================================================
|
|
setopt histignorealldups sharehistory
|
|
HISTSIZE=1000
|
|
SAVEHIST=1000
|
|
HISTFILE=~/.zsh_history
|
|
bindkey -e
|
|
|
|
# =============================================================================
|
|
# COMPLETION SYSTEM (Avanzato)
|
|
# =============================================================================
|
|
zstyle ':completion:*' auto-description 'specify: %d'
|
|
zstyle ':completion:*' completer _expand _complete _correct _approximate
|
|
zstyle ':completion:*' format 'Completing %d'
|
|
zstyle ':completion:*' group-name ''
|
|
zstyle ':completion:*' menu select=2
|
|
|
|
# Colori custom per fallback
|
|
export LS_COLORS="di=1;36:ln=1;35:so=1;32:pi=1;33:ex=1;32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"
|
|
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
|
zstyle ':completion:*' list-colors ''
|
|
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
|
|
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
|
|
zstyle ':completion:*' menu select=long
|
|
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
|
|
zstyle ':completion:*' use-compctl false
|
|
zstyle ':completion:*' verbose true
|
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
|
|
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
|
|
|
|
# =============================================================================
|
|
# ALIAS & GRAFICA (LSD + Fastfetch)
|
|
# =============================================================================
|
|
# Usa LSD se installato, altrimenti ls colorato
|
|
if (( $+commands[lsd] )); then
|
|
alias ls='lsd'
|
|
alias ll='lsd -alF'
|
|
alias la='lsd -A'
|
|
alias l='lsd -CF'
|
|
alias tree='lsd --tree'
|
|
else
|
|
alias ls='ls --color=auto'
|
|
alias ll='ls -alF --color=auto'
|
|
alias la='ls -A --color=auto'
|
|
alias l='ls -CF --color=auto'
|
|
fi
|
|
alias grep='grep --color=auto'
|
|
alias neofetch='fastfetch' # Alias per abitudine
|
|
|
|
# =============================================================================
|
|
# STARTUP
|
|
# =============================================================================
|
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
|
fastfetch
|
|
```
|
|
|
|
## 4. 🎨 Finalizzare il Setup
|
|
|
|
Per configurare la barra (colori, forme, orario):
|
|
|
|
```bash
|
|
p10k configure
|
|
```
|
|
|
|
Rispondi **Yes (y)** a tutte le domande sulle icone (Diamante, Lucchetto, ecc.) per confermare che il font funziona.
|
|
|
|
***
|
|
Salvalo come `setup-terminale.md` e hai fatto. Alla prossima! 🤙
|