7

Personaliza tu PowerShell con Oh my Posh

Si por alguna razón no usas WSL, Git Bash, CMDer u otra consola desde Windows, hay una alternativa para “tunear” nuestro PowerShell y es Oh My Posh

  • Qué es Oh my Posh

Es un motor de temas para PowerShell creado por Jan De Dobbeleer, inspirado en PS-Config y Oh-My-ZSH

  • Cómo lo vamos a hacer?
  1. Instalar Windows Terminal (descárgalo aquí)
  2. Instalar fuente Meslo LGM NF (descárgalo aquí)
  3. Configurar fuente en PowerShell desde Windows Terminal
  4. Instalar módulo oh-my-posh en PowerShell
  5. Configurar el perfil de PowerShell
  6. Personalizar tu plantilla

1. Instalar Windows Terminal 💻

Este link nos lleva a la Microsoft Store y desde allí obtenemos e instalamos la aplicación.
2021-01-14 (20).png

2. Instalar fuente Meslo LGM NF 🅰

Meslo hace parte del grupo de fuentes personalizadas conocidas como Nerd Fonts, estas fuentes contienen iconos adicionales (3600+) que podemos utilizar entre otras cosas en la línea de comandos.
Una vez hayas descargado la fuente, las descomprimes, luego las seleccionas y con clic derecho indicas “Instalar para todos los usuarios”
Captura de pantalla 2021-01-14 153956.png

3. Configurar fuente en PowerShell desde Windows Terminal 💻🅰

Abres Windows Terminal, luego das clic en la flecha que esta al lado derecho del más (+) y seleccionas Configuración
2021-01-14 (21).png

Esta acción abre el archivo de configuración de Windows Terminal, Settings.json, allí ubicas la sección con el nombre Windows PowerShell
2021-01-14 (23).png

Al final de la sección adicionas "fontFace": "MesloLGM Nerd Font"
2021-01-14 (27).png

Una vez se guarda la configuración, el aspecto de Windows Terminal cambia
2021-01-14 (25).png

4. Instalar módulo oh-my-posh 🧬

Estando en Windows Terminal, escribes el siguiente comando
Install-Module oh-my-posh -Scope CurrentUser -AllowPrerelease

Una vez culmine puedes darle un vistazo a las plantillas disponibles para tu consola, para esto utilizas el comando Get-PoshThemes
2021-01-14 (28).png

Para seleccionar una plantilla utilizas el comando Set-PoshPrompt -Theme nombre_plantilla donde nombre plantilla es la plantilla que escogiste del listado que vimos con el anterior comando, por ejemplo Set-PoshPrompt -Theme powerlevel10k_classic
2021-01-14 (29).png

5. Configurar el perfil de PowerShell

Si cierras la consola, al abrirla de nuevo la configuración de Oh my Posh no se mantiene, para solucionar esto debes configurar el perfil de PowerShell, en la consola indicas el comando notepad $PROFILE, este comando abre el bloc de notas para editar o crear el archivo Microsoft.PowerShell_profile.ps1

En el bloc de notas adicionamos los siguientes comandos Import-Module oh-my-posh y Set-PoshPrompt -Theme powerlevel10k_classic, estos comandos le dicen a la sesión de PowerShell que cargue el módulo oh-my-posh y la plantilla seleccionada
2021-01-14 (30).png

El archivo de configuración del perfil lo encuentras en la carpeta WindowsPowerShell ubicada en la carpeta de documentos de tu equipo
2021-01-14 (31).png

6. Personalizar tu plantilla

Para personalizar tu plantilla, puedes hacer uso de la documentación oficial de Oh my Posh V3, básicamente es agregar secciones en formato JSON, de acuerdo a lo que desees agregar, las plantillas instaladas las encuentras en la carpeta de documentos de tu Windows, siguiendo la ruta: Documents\WindowsPowerShell\Modules\oh-my-posh\3.71.0\themes
2021-01-14 (32).png

Puedes tomar como inicio alguna de las plantillas que allí encontraras y probar adiciones e iconos de acuerdo a tus gustos y necesidades, finalmente para usar la plantilla que creaste, debes editar el archivo Microsoft.PowerShell_profile.ps1, recuerda que puedes llegar a ese archivo con el comando notepad $PROFILE.

Acá les dejo mi plantilla personalizada.
2021-01-14 (34).png

Escribe tu comentario
+ 2
Ordenar por:
2
17018Puntos

Buenas y gracias.

Llegué a un vídeo de youtube sobre oh-my-posh para git bash, que es la terminal que uso. Sea como sea, para que git tomes los estados del repositorio local donde estés hay que añadir o habilitar algo, he estado mirando la documentación sin éxito, me puedes indicar o guiar? Gracias.

2
10978Puntos
10 meses

Hola Javi, así me funcionó:

  1. Instalé la fuente Nerd en Windows (DroidSansMono Nerd Font).
  2. Instalé oh-my-posh (https://ohmyposh.dev/docs/windows).
  3. En el home adicioné el archivo .bashrc
    2021-07-11 (1).png
  4. Edité el archivo .bashrc indicando la ubicación del tema que voy a usar, en mi caso quedó así:
eval"$(oh-my-posh --init --shell bash --config ~/OneDrive/Documentos/WindowsPowerShell/Modules/oh-my-posh/3.168.2/themes/slimfat.omp.json)"
2021-07-11 (2).png
  1. Finalmente en GitBash, en opciones, cambio la fuente y listo.
    2021-07-11 (3).png
2021-07-11 (4).png

Espero sea de auyda! 🦾

2
17018Puntos
10 meses

Gracias, todo correcto 😃

1
6 meses

¿Es posible agregar Oh My Posh como el tema de la terminal Git Bash en Windows?

1
6 meses

Ignoren mi último comentario, acabo de notar el comentario de Javi sobre eso 😂. Pero, al seguir los pasos en Bash me da el error: bash: oh-my-posh: command not found. Alguna idea?

1
17018Puntos
6 meses

Buenas, Fernando.

Tengo Windows 10, uso GIt Bash, y funcionando correctamente.

Supongo que habrás seguido los pasos de la instalación de windows, scoop, parte de bash… y tienes en el archivo .bashrc lo siguiente, en función del tema seleccionado, claro.

eval"$(oh-my-posh --init --shell bash --config ~/scoop/apps/oh-my-posh/current/themes/powerlevel10k_rainbow.omp.json)"

En variables de entorno debes de tener algo así:

C:\Users\USUARIO\scoop\apps\oh-my-posh\current\bin

Un saludo.

2
9Puntos

Hola. al escribir Get-PoshThemes me aparece este error: ![](Captura de pantalla 2022-01-27 233645.png

Por favor ayuda :c

1
17018Puntos
4 meses

Revisar este enlace de GitHub por si algo os ayuda.

Un saludo.

1
8768Puntos

Gracias! muchas gracias! me hacía falta el:

Import-Module oh-my-posh