Configuration de mon terminal
Je sais, il existe de nombreux articles et explications sur la façon de configurer et de paramétrer votre terminal. Pourtant, il m’a fallu plus de 2 heures pour que tout fonctionne comme je le souhaitais. La raison en était que beaucoup d’articles et d’explications fournissent un guide étape par étape pour installer les choses, mais avec trop peu d’informations de fond sur la façon dont les éléments sont liés et fonctionnent ensemble en arrière-plan. Et c’est ce qui me manquait…
Alors, je vous propose un autre article. Ou plutôt une collection de fragments d’informations que j’ai trouvées utiles.
Mise en place
Mon installation cible et mes exigences sont simples :
- macOS (Catalina 10.15.2 au moment de l’écriture)
- iTerm2 (Build 3.3.8)
- zsh (tel que fourni par Apple depuis quelques versions de macOS)
- Je veux une coloration correcte
- Je veux voir sur quelle branche Git je me trouve - si le répertoire courant est dans un dépôt git
Les éléments en mouvement
Ce qui m’a fait perdre le fil, c’était l’absence de vue d’ensemble. Par conséquent, voici les différents éléments impliqués dans ma configuration :
- zsh : Le shell
- Oh My Zsh : Un framework qui améliore le shell zsh avec des fonctions et un design.
- powerlevel9k : Un thème pour Oh My Zsh
- Polices requises par powerlevel9k pour afficher son texte et ses icônes
Les dépendances dans cette liste vont de haut en bas, c’est-à-dire que les polices sont requises par powerlevel9k qui fonctionne sur Oh My Zsh qui utilise zsh.
Structure du répertoire
Avant de passer en revue les différents composants un par un, voici la structure du répertoire que nous aurons après avoir installé tous les éléments :
├── $HOME
│ └── .oh-my-zsh/
│ │ └── custom/
│ │ │ └── themes/
│ │ │ └── powerlevel9k/
│ │ └── themes/
│ └── .zsh/
├── .zshrc
zsh
J’utilisais bash dans le passé et j’en étais satisfait. Je lançais simplement mon Terminal Mac, et il était là. Plus tard, j’ai utilisé iTerm2, et il se lançait aussi avec bash. Alors pourquoi passer à zsh ?
Cet article l’explique bien et en détail. En résumé :
- Apple utilisait bash dans le passé car c’était la norme de facto
- En 2007, bash est passé à la Licence Publique Générale GNU 3.0, ce qui ne plaisait pas à Apple pour certaines raisons. Ils sont donc restés avec la version de bash d’avant 2007. Et c’est vieux - y compris une vulnérabilité qui a obligé Apple à mettre à jour bash pour les Macs.
- zsh est devenu au fil du temps la nouvelle norme de facto, donc Apple a fait le changement.
Et bien sûr, zsh offre des fonctionnalités plus modernes et intéressantes.
Bref, c’est la nouvelle norme, ça a l’air bien - utilisons-le. Comme c’est le nouveau shell standard de macOS, vous n’avez pas besoin de l’installer. Si vous avez un nouveau Mac livré avec Catalina pré-installé, vous utilisez déjà zsh. Si vous avez mis à jour votre Mac depuis Mojave, vous devez définir zsh comme votre shell terminal comme suit :
chsh -s /bin/zsh
Cela définit zsh comme le Shell par défaut.
Configuration
La configuration du shell zsh se fait via des entrées dans .zshrc, qui se trouve dans votre répertoire $HOME. Comme décrit ci-dessus, il y a plusieurs composants qui interagissent. Certains d’entre eux offrent des options de configuration et peuvent être configurés à différents endroits. Pour garder une vue d’ensemble, j’ai opté pour l’installation des composants dans leur emplacement par défaut respectif, et j’essaie d’avoir toutes les options de configuration dans le fichier .zshrc.
Oh My Zsh
Oh My Zsh est un framework open source, piloté par la communauté, pour gérer votre configuration zsh. — Site web Oh My Zsh
En gros, Oh My Zsh rend votre terminal très agréable (via les thèmes) et offre de nombreux plugins utiles. Voici une liste d’exemples de leur page github :
plugins=(
git
bundler
dotenv
osx
rake
rbenv
ruby
)
J’utilise actuellement le plugin git, qui offre des raccourcis pour les commandes git souvent utilisées.
Configuration de Oh My Zsh
Comme mentionné, j’ai intégré toutes les configurations dans mon fichier $HOME/.zshrc. Les extraits pertinents de mon fichier .zshrc :
# Chemin vers votre installation oh-my-zsh.
export ZSH="/Users/tgartner/.oh-my-zsh"
# Définir le nom du thème à charger.
# Voir https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="powerlevel9k/powerlevel9k"
(...)
# Quels plugins souhaitez-vous charger ?
# Les plugins standards se trouvent dans ~/.oh-my-zsh/plugins/*
# Des plugins personnalisés peuvent être ajoutés à ~/.oh-my-zsh/custom/plugins/
# Format d'exemple : plugins=(rails git textmate ruby lighthouse)
# Ajoutez judicieusement, car trop de plugins ralentissent le démarrage du shell.
plugins=(git python)
powerlevel10k
Remarque : J’utilisais powerlevel9k, mais lors de l’installation de mon Mac en mai 2025, 9k était obsolète et pointait vers powerlevel10k.
Installez powerlevel10k en suivant leur guide d’installation pour zsh.