momh

De Oh my ZSH à Antidote & Oh My Posh

Un léger ennui, une petite lassitude, une impression de lourdeur... Et me voilà donc à rechercher des alternatives à Oh My Zsh que j’utilisais depuis quelques temps, à la fois pour gérer mes plugins et le thème de prompt que j’utilisais.

Et j’ai donc découvert Antidote https://antidote.sh, un gestionnaire de plugins pour ZSH léger et performant ainsi que Oh My Posh https://ohmyposh.dev.

Antidote

Antidote is a Zsh plugin manager made from the ground up thinking about performance.
It is fast because it can do things concurrently, and generates an ultra-fast static plugin file that you can easily load from your Zsh config.

L’installation peut se faire soit via Git :

git clone --depth=1 https://github.com/mattmc3/antidote.git ${ZDOTDIR:-~}/.antidote

soit via des gestionnaires de paquets, par exemple avec Brew sous MacOS :

brew install antidote

Ensuite, il faut éditer notre ~/.zshrcde la sorte :

#
# Lazy-load antidote and generate the static load file only when needed
#
# Lazy-load antidote and generate the static load file only when needed
zsh_plugins=${ZDOTDIR:-$HOME}/.zsh_plugins
if [[ ! ${zsh_plugins}.zsh -nt ${zsh_plugins}.txt ]]; then
  (
    source $HOMEBREW_PREFIX/opt/antidote/share/antidote/antidote.zsh
    antidote bundle <${zsh_plugins}.txt >${zsh_plugins}.zsh
  )
fi
source ${zsh_plugins}.zshfile.
source ${zsh_plugins}.zsh

Les plugins sont listés dans le fichier .zsh_plugins.txt, par exemple :

# some plugins support deferred loading
zdharma-continuum/fast-syntax-highlighting kind:defer
zsh-users/zsh-autosuggestions kind:defer
zsh-users/zsh-history-substring-search kind:defer

Il est également possible d’appeler des plugins en provenance de Oh My Zsh :

#
# Using Oh My Zsh plugins
#
getantidote/use-omz

# https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/eza
ohmyzsh/ohmyzsh path:plugins/eza

# https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fzf
ohmyzsh/ohmyzsh path:plugins/fzf

Un coup de source ~/.zshrc et votre terminal devrait donc désormais bénéficier de ces plugins, avec leurs alias respectifs, etc.

Oh My Posh

The most customizable and fastest prompt engine for any shell.

Oh My Posh (https://ohmyposh.dev) permet donc très aisément de configurer son prompt .
Une fois installé, il suffit d’ajouter une ligne à la fin de ~/.zshrc afin de le charger :

eval "$(oh-my-posh init zsh)"

Pour utiliser un thème existant (https://ohmyposh.dev/docs/themes), il suffit de le passer en option à la commande insérée précédemment ; ainsi par exemple :

eval "$(oh-my-posh init zsh --config 'quick-term')"

Bien sûr, il est possible de configurer son propre thème (https://ohmyposh.dev/docs/configuration/general).