Vamos a personalizar el prompt en Windows 10 o en Windows 11 de la terminal Powershell.
Paso 0, instalar winget
Es un paso opcional, pero nos hace la instalación de Oh My Posh mucho más fácil. Tambíen se pueden usar otros gestores de paquetes como chocolatey o scoop.
Winget es el gestor oficial de paquetes para Windows que necesitaremos tenerlo instalado como paso previo opcional.
Documentación de instalación y uso de winget: https://docs.microsoft.com/es-es/windows/package-manager/winget/
Paso 1, descargar el software Oh My Posh
Usando winget:
winget install JanDeDobbeleer.OhMyPosh
Si no se quiere usar winget se puede instalar de manera manual. La documentación oficial de instalación: https://ohmyposh.dev/docs/windows
Rebotar el PC.
Para probar que funciona, escribir en PowerShell:
oh-my-posh.exe
Paso 3, instalar Windows Terminal
Windows Terminal es un programa que nos da más funcionalidad con nuestras terminales. Como poder tener pestañas para las diferentes terminales, pantalla dividida con nuestras terminales.
Para instalarlo podemos hacerlo directamente desde la la Tienda de Microsoft buscando Windows Terminal.
Paso 4, el tipo de Font
Necesitaremos instalar un font que soporte todos los caracteres que vamos a usar.
Yo voy a usar uno llamado Caskaydia Cove Nerd Font. Puedes elegir cualquiera de los disponibles en la página.
Lo descargamos e instalamos todos los ficheros de font que contenga la descarga.
Ya tenemos nuestro font instalado. Ahora tendremos que configurarlo en los programas que usemos.
Yo lo cambiaré en 3 programas:
- Powershell
- Windows Terminal
- Visual Studio Code
Powershell
Abrimos una nueva ventana de Powershell. Click derecho en el título del programa. Propiedades.
En propiedades podremos cambiar el font a nuestro NerdFont.
Windows Terminal
En Windows Terminal hacemos ctrl+,
En el apartado de Default, Apariencia cambiamos el font a nuestro font instalado.
Ahora si abrimos una terminal nueva y volvemos a comprobar nuestro prompt, el font se ve perfectamente.
Visual Studio Code
Ctrl+, para ir a ajustes. Buscamos el font de la terminal y escribimos:
"CaskaydiaCove NF" Paso 5, el perfil de PowerShell
Ahora tenemos nuestra terminal configurada con el Font que queremos y todo instalado correctamente, pero cuando abrimos PowerShell no nos aparece nuestro prompt de OhMyPosh, vamos a configurarlo.
En un PowerShell escribimos:
code $profile
Dentro de este archivo pegamos el siguiente codigo:
oh-my-posh --init --shell pwsh --config https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v$(oh-my-posh --version)/themes/nu4a.omp.json | Invoke-Expression
Si ahora abrimos un PowerShell no podemos encontrar con este error:
Si este es el caso, abrimos una terminal en modo administrador y ejecutamos el siguiente comando:
Set-ExecutionPolicy -ExecutionPolicy bypass
Paso 5, personalizar el tema
Con todo esto ya tenemos todo configurado y funcionando. Cuando abrimos la terminal funciona todo como debería.
Este último paso es por personalizar y cambiar la estética de la terminal.
OhMyPosh tiene muchos temas que vienen por defecto. En el caso de nuestra instalación he elegido el tema nu4a pero si quieres puedes cambiar el tema a uno de los por defecto, e incluso crear el tuyo propio.
Te recomiendo ir a la página de temas de OhMyPosh para ver los diferentes temas que hay disponibles.