Utiliser "Oh my posh" sur le Terminal Windows

Oh My Posh fournit une expérience d’invite de commandes entièrement personnalisée qui fournit des invites et des codes de couleurs d’état Git.

Installer "Oh My Posh" via Winget

Pour personnaliser votre invite PowerShell, vous pouvez installer Oh My Posh en utilisant WinGet. Entrez la commande :

winget install JanDeDobbeleer.OhMyPosh

Ajouter les modules PowerShell posh-git & oh-my-posh :

Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser -AllowPrerelease

Ajouter la police Nerd

Oh My Posh a été conçu pour utiliser les polices Nerd. Les polices Nerd sont des polices populaires qui sont corrigées pour inclure des icônes. Nous recommandons Meslo LGM NF, mais toute police Nerd doit être compatible avec les thèmes standard. Pour voir les icônes affichées dans Oh My Posh, installez une police Nerd et configurez votre terminal pour l'utiliser.

Oh My Posh a une CLI pour vous aider à sélectionner et installer une police Nerd

Pour se faire, ouvrez un Terminal Windows en tant qu'administrateur et utilisez la commande suivante :

oh-my-posh font install

Puis séléctionnez la police Meslo :

Une fois l'installation terminée, vous devriez obtenir ce message :

Maintenant, depuis le Terminal Windows, utilisez la combinaison CTRL + SHIT + , et spécifiez l'usage de la nouvelle police en ajoutant cette ligne dans le fichier JSON des paramètres :

{
    "profiles":
    {
        "defaults":
        {
            "font":
            {
                "face": "MesloLGM Nerd Font"
            }
        }
    }
}

Ajouter un thème

Oh My Posh est livré avec de nombreux thèmes inclus prêts à l'emploi. Vous pouvez trouver la liste complète des thèmes sur Github.

N'hésitez pas à parcourir la documentation pour trouver votre thème : https://ohmyposh.dev/docs/themes

Si vous utilisez PowerShell, vous pouvez afficher tous les thèmes disponibles à l'aide de l'applet de commande PowerShell suivante :

Get-PoshThemes

Une fois votre thème identifié ajouter le JSON associé dans le répertoire associé à la variable d'environnement suivante :

$env:POSH_THEMES_PATH

Dans mon cas; voici le résultat:

C:\Users\Ryzen\AppData\Local\Programs\oh-my-posh\themes

Pour plus de facilité, j'ai télécharger le repository GitHub puis j'ai copier / coller les JSON associés aux thèmes dans ce répertoire:

Maintenant il ne reste plus qu'à appliquer un des thèmes avec cette commande:

oh-my-posh init pwsh --config 'C:\Users\Ryzen\AppData\Local\Programs\oh-my-posh\themes\jandedobbeleer.omp.json' | Invoke-Expression

Et voilà, le thème est appliqué:

Pour qu'il se charge à chaque fois avec mon profil il suffit de modifier le fichier associé:

notepad $PROFILE

Coller et enregistrer dans le fichier la ligne suivante:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\thecyberden.omp.json" | Invoke-Expression

Ajouter des icônes de fichier ou dossier manquantes

Terminal-icons est un module PowerShell qui permet d’ajouter des icônes de fichier et dossier susceptibles d’être manquantes lors de l’affichage de fichiers ou dossiers dans le Terminal Windows, en recherchant leur icône appropriée en fonction de leur nom ou extension. Le module tente d’utiliser des icônes pour les fichiers/dossiers connus, mais revient à une icône de fichier ou dossier générique si aucune icône n’est trouvée.

Install-Module -Name Terminal-Icons -Repository PSGallery

Visual Studio Code

Après avoir configurer votre Terminal Windows, vous pouvez aussi l'utiliser via le Terminal VS Code. De mon côté, j'ai dû reconfigurer la police du Terminal VS Code pour éviter ce désagrément :

Dans les "Settings" de VS Code il m'a fallu modifier la valeur de :
Terminal > Integrated: Font Family

Et y spécifier la valeur suivante:

MesloLGM Nerd Font

Et voilà:

Mise à jour

Pour mettre à jour Oh My Posh, rien de plus simple qu'une ligne de commande :

winget upgrade JanDeDobbeleer.OhMyPosh -s winget

Liens utiles

Did you find this article valuable?

Support Antoine LOIZEAU by becoming a sponsor. Any amount is appreciated!