Introducción
Oh My Posh es un motor para el prompt del terminal de windows, que permite ser personalizado para cualquier shell que tenga la capacidad de ajustar la cadena de solicitud con una función o variable (usaremos powershell).
Es muy útil si programas y usas GIT porqué te muestra información útil, depende del tema que se use, pero si estás en un directorio en un repo git, la rama de trabajo, cuantos commits estás por detras del remote, cuantos ficheros pendietes de commit, si ha habido un error, y más …
El objetivo es tener un prompt (parecido, no esté en concreto necesariamente) como sl siguiente:
Instalación
(Prerequisito) Es muy recomendable instalar una nerdFont del enlace [1] y más instrucciones en [2].
Lo instalamos con el comando:
winget install JanDeDobbeleer.OhMyPosh -s winget
En linux tambíen se puede instalar y usar con zsh, no lo he probado y por eso no lo trato aquí, para más información leer la doc oficial en el enlace [5].
Configuración
El siguiente paso es crear un fichero de “perfil”:
notepad $PROFILE
En este fichero añadimos:
oh-my-posh init pwsh | Invoke-Expression
Para probarlo:
. $PROFILE
(ATENCIÓN) Si por lo que fuera, algún icono no se ve y ve un cuadrado, ejecutar el siguietne comando: Install-Module -Name Terminal-Icons -Repository PSGallery
Ahora, si queremos cambiar el tema de iconos, cómo se ve el prompt etc, editamos el fichero $PROFILE:
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/default.json" | Invoke-Expression
$env:POSH_THEMES_PATH es un directorio donde se han descargado los temas, bueno, los ficheros JSON con su configuración (podemos consultar más temas en [3]) .
Solucionar problema script no firmado
Puede ocurrir, que al abrir el terminal nos diga que no puede ejectuar el fichero $PROFILE porqué no está firmado, es una politica de seguridad que puede tener activada la consola. En este caso, debemos ejecutar el siguiente comando (como administrador):
Set-ExecutionPolicy RemoteSigned
Hay más información sobre ExecutionPolicy en [4], ya debería funcionar todo.
ENLACES
[1] NerdFonts: https://www.nerdfonts.com/font-downloads
[2] Add Font on Windows: https://support.microsoft.com/en-us/office/add-a-font-b7c5f17c-4426-4b53-967f-455339c564c1
[3] Themes: https://ohmyposh.dev/docs/themes
[4] Change execution policy: https://pureinfotech.com/change-execution-policy-run-scripts-powershell/
[5] Oh My Posh en Linux: https://ohmyposh.dev/docs/installation/linux