💡 TL;DR
- Oh My Zsh transforme Zsh en cockpit de dev : autocomplétion intelligente, 300+ plugins, thèmes en quelques minutes
- Installe-le en une commande
curl, configure Powerlevel10k via wizard interactif- Résultat : un terminal rapide, informatif et personnalisé, en moins de 15 minutes
T’en as marre de ton terminal terne et basique ? Oh My Zsh + Powerlevel10k, c’est la combinaison qui change tout. En 15 minutes, tu passes d’un terminal par défaut à un cockpit de développeur que tes collègues vont envier.
Voici le guide complet : installation, configuration, plugins et personnalisation avancée.
Sur macOS, j’utilise tout ça dans iTerm2, le combo parfait. Si tu hésites entre les terminaux, j’ai fait un test iTerm2 vs Warp après 60 jours.
Table des matières
Table des matières
Prérequis : ce qu’il te faut avant de commencer
Installation de Zsh
Avant de plonger dans Oh My Zsh, assure-toi d’avoir Zsh installé :
Ubuntu/Debian :
sudo apt update && sudo apt install zsh
macOS (via Homebrew) :
brew install zsh
CentOS/RHEL/Fedora :
# CentOS/RHEL
sudo yum install zsh
# Fedora
sudo dnf install zsh
Vérifie l’installation :
zsh --version
# Devrait afficher : zsh 5.9 ou supérieur
Installation de Git
Git est indispensable pour Oh My Zsh :
# Ubuntu/Debian
sudo apt install git
# macOS déjà installé normalement
git --version
# Ou avec Homebrew : brew install git
# CentOS/RHEL
sudo yum install git
💡 Astuce : sur macOS, si Git n’est pas installé, la commande git --version déclenche automatiquement l’installation des Xcode Command Line Tools. Accepte et continue.
Bascule vers zsh si ce n’est pas encore ton shell par défaut :
source ~/.bashrc
exec zsh
Installation de Oh My Zsh
Méthode recommandée (curl)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Ce qui se passe :
- Le script télécharge Oh My Zsh dans
~/.oh-my-zsh - Sauvegarde ton
.zshrcexistant en.zshrc.pre-oh-my-zsh - Crée un nouveau
.zshrcavec la config par défaut - Change ton shell par défaut vers zsh
Méthode alternative (wget)
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
✅ À savoir : l’installation te demandera si tu veux faire de zsh ton shell par défaut. Réponds « Y » sauf si tu as une bonne raison de ne pas le faire.
Configuration de base
Le fichier de configuration
Tout se passe dans ~/.zshrc. Ouvre-le avec ton éditeur préféré :
nano ~/.zshrc
# ou
vim ~/.zshrc
# ou
code ~/.zshrc # VS Code
La structure de base générée par Oh My Zsh :
# Chemin vers Oh My Zsh
export ZSH="$HOME/.oh-my-zsh"
# Thème (on va changer ça bientôt)
ZSH_THEME="robbyrussell"
# Plugins activés
plugins=(git)
# Source Oh My Zsh
source $ZSH/oh-my-zsh.sh
# Tes alias et configurations perso ici
Premiers réglages utiles
Ajoute ces lignes à la fin de ton .zshrc :
# Historique plus long et intelligent
HISTSIZE=10000
SAVEHIST=10000
setopt HIST_VERIFY
setopt SHARE_HISTORY
setopt APPEND_HISTORY
# Navigation plus fluide
setopt AUTO_CD
setopt CORRECT
setopt CORRECT_ALL
# Autocomplétion case-insensitive
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
Recharge la config :
source ~/.zshrc
Powerlevel10k : le thème qui tue tout
Oublie les thèmes basiques. Powerlevel10k (P10k pour les intimes) transforme ton terminal en vaisseau spatial.
Pourquoi Powerlevel10k ?
- ⚡ Ultra-rapide : 10-100x plus rapide que les autres thèmes (rendu asynchrone)
- 🎨 Magnifique : icons, couleurs, informations utiles d’un coup d’œil
- 🔧 Configurable : wizard interactif pour tout personnaliser en 5 minutes
- 📊 Informatif : Git status, temps d’exécution, erreurs en temps réel
Installation de Powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Dans ton .zshrc, change le thème :
# Remplace :
ZSH_THEME="robbyrussell"
# Par :
ZSH_THEME="powerlevel10k/powerlevel10k"
Recharge :
source ~/.zshrc
Lance le wizard de configuration :
p10k configure
Mes recommandations pour le wizard :
- Font icons : réponds « Y » si tu vois les icônes correctement
- Prompt style : « Rainbow » (option 3)
- Character set : « Unicode »
- Show current time : « 24-hour format »
- Prompt separators : « Angled »
- Prompt heads : « Sharp »
- Prompt tails : « Flat »
- Prompt height : « Two lines »
- Prompt spacing : « Sparse »
- Icons : « Many icons »
- Prompt flow : « Concise »
- Transient prompt : « Yes »
Installation des polices Nerd Font
Pour que les icônes s’affichent correctement dans le terminal :
macOS : le wizard propose l’installation automatique. Accepte !
Linux :
# Téléchargement des polices recommandées
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
# MesloLGS NF (recommandée par Powerlevel10k)
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
# Refresh du cache des polices
fc-cache -fv
Relance ensuite le wizard :
p10k configure
⚠️ Prompt lent : si ton prompt met plus d’une seconde à apparaître, trop de segments sont activés. Ouvre ~/.p10k.zsh et commente les segments lourds comme disk_usage.
Plugins essentiels
Oh My Zsh, c’est 300+ plugins prêts à l’emploi. Voici ma sélection de ceux qui changent vraiment la vie.
Ma config plugins de base
Dans ton .zshrc, remplace la ligne plugins=(git) par :
plugins=(
git
docker
docker-compose
node
npm
yarn
python
pip
sudo
history
colored-man-pages
command-not-found
extract
web-search
)
Plugins communautaires indispensables
zsh-autosuggestions (suggestions basées sur ton historique) :
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting (coloration syntaxique en temps réel) :
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Active-les dans .zshrc zsh-syntax-highlighting toujours en dernier :
plugins=(
git
docker
zsh-autosuggestions
zsh-syntax-highlighting # TOUJOURS en dernier !
)
Plugins par cas d’usage
Développement web :
plugins=(git node npm yarn web-search)
Sysadmin / DevOps :
plugins=(git docker ssh-agent systemd ansible)
Python :
plugins=(git python pip virtualenv)
Alias magiques
Ajoute ces alias dans ton .zshrc :
# Navigation rapide
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias ..='cd ..'
alias ...='cd ../..'
# Git shortcuts
alias gs='git status'
alias gd='git diff'
alias gl='git log --oneline --graph'
# Docker shortcuts
alias dps='docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dlog='docker logs -f'
# Système
alias h='history'
alias c='clear'
alias reload='source ~/.zshrc'
# Recherche avec couleurs
alias grep='grep --color=auto'
Configuration avancée
Fonctions utiles
# Création rapide de dossier + navigation
mkcd() {
mkdir -p "$1" && cd "$1"
}
# Backup rapide d'un fichier
backup() {
cp "$1" "$1.backup.$(date +%Y%m%d-%H%M%S)"
}
# Recherche dans l'historique
hist() {
history | grep "$1"
}
# IP publique
myip() {
curl -s https://ipinfo.io/ip
}
Variables d’environnement
# Éditeur par défaut
export EDITOR='nano' # ou vim, code...
# Langues
export LANG=fr_FR.UTF-8
export LC_ALL=fr_FR.UTF-8
# Paths personnalisés
export PATH="$HOME/bin:$PATH"
export PATH="/usr/local/bin:$PATH"
Configuration Powerlevel10k avancée
Le fichier ~/.p10k.zsh contient toute la config. Quelques tweaks sympas :
# Ouvre le fichier
nano ~/.p10k.zsh
# Personnalise les segments du prompt gauche/droit :
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
dir # Dossier actuel
vcs # Git status
prompt_char # Caractère de prompt
)
typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
status # Code de retour
command_execution_time # Temps d'exécution
background_jobs # Jobs en arrière-plan
time # Heure
)
💡 Astuce : le fichier ~/.p10k.zsh est très bien documenté. Chaque segment a un commentaire. Prends 15 minutes pour le parcourir tu trouveras des options insoupçonnées.
Maintenance et dépannage
Mise à jour
Oh My Zsh :
omz update
Powerlevel10k :
git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull
Plugins communautaires :
# Exemple pour zsh-autosuggestions
git -C ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions pull
Problèmes courants
Prompt qui se charge lentement :
# Debug des temps de chargement
time zsh -i -c exit
# Si > 1 seconde, relance le wizard
p10k configure
# Désactive les segments lourds
Fichier de complétion corrompu :
rm ~/.zcompdump*
exec zsh
Plugin qui ne marche pas :
# Vérifie qu'il est dans la liste
echo $plugins
# Recharge la config
source ~/.zshrc
# Vérifie les erreurs
zsh -x ~/.zshrc
Problème Git safe.directory :
git config --global --add safe.directory /ton/repo
Sauvegarde de ta config
# Backup du setup complet
tar -czf oh-my-zsh-backup.tar.gz ~/.zshrc ~/.p10k.zsh ~/.oh-my-zsh/custom/
# Restauration
tar -xzf oh-my-zsh-backup.tar.gz -C ~/
Désinstallation
uninstall_oh_my_zsh
Conclusion
Oh My Zsh + Powerlevel10k, c’est le combo que tu installes une fois et que tu gardes sur tous tes Macs et serveurs. En 15 minutes, ton terminal passe de “fonctionnel” à “je veux l’ouvrir tout le temps”.
Si tu pars de zéro sur macOS, enchaîne avec iTerm2 : j’ai tout détaillé dans le guide iTerm2 macOS complet configuration Hotkey Window, profils SSH et thèmes inclus.
Pour aller plus loin
- Guide iTerm2 macOS complet : le terminal qui sublimera ce setup
- Installer Homebrew sur macOS : prérequis indispensable sur Mac
- Documentation officielle Oh My Zsh : wiki complet avec tous les plugins
- Powerlevel10k GitHub : config avancée et options cachées