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 voulais. La raison en était que beaucoup d'articles et d'explications fournissent un guide étape par étape pour installer les choses, mais 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...
Donc, voici un autre article. Ou plutôt une collection de fragments d'informations que j'ai trouvées précieuses.
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 suis - si le répertoire actuel 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 mon installation :
- 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 au-dessus de 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 s'ouvrait également 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 le standard 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 ancien - y compris une vulnérabilité qui a obligé Apple à mettre à jour bash pour les Macs.
- zsh est devenu au fil du temps le nouveau standard de facto, donc Apple a suivi le mouvement.
Et bien sûr, zsh offre des fonctionnalités modernes et intéressantes.
Quoi qu'il en soit, c'est le nouveau standard, ça a l'air bien - utilisons-le. Comme c'est le nouveau shell standard de mac, 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 ainsi :
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. Afin de garder une vue d'ensemble, j'ai opté pour installer les composants dans leur emplacement par défaut respectif et essayer 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
Fondamentalement, Oh My Zsh rend votre terminal très agréable (via des thèmes) et offre de nombreux plugins utiles. Une liste d'exemples depuis 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 fréquemment 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 peuvent être trouvés 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.