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
Es un motor de temas para PowerShell creado por Jan De Dobbeleer, inspirado en PS-Config y Oh-My-ZSH
Este link nos lleva a la Microsoft Store y desde allí obtenemos e instalamos la aplicación.
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”
Abres Windows Terminal, luego das clic en la flecha que esta al lado derecho del más (+) y seleccionas Configuración
Esta acción abre el archivo de configuración de Windows Terminal, Settings.json, allí ubicas la sección con el nombre Windows PowerShell
Al final de la sección adicionas "fontFace": "MesloLGM Nerd Font"
Una vez se guarda la configuración, el aspecto de Windows Terminal cambia
Estando en Windows Terminal, escribes el siguiente comandoInstall-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
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
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
El archivo de configuración del perfil lo encuentras en la carpeta WindowsPowerShell ubicada en la carpeta de documentos de tu equipo
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
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.
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.
Hola Javi, así me funcionó:
eval"$(oh-my-posh --init --shell bash --config ~/OneDrive/Documentos/WindowsPowerShell/Modules/oh-my-posh/3.168.2/themes/slimfat.omp.json)"
Espero sea de auyda! 🦾
Gracias, todo correcto 😃
Excelente Javi!
¿Es posible agregar Oh My Posh como el tema de la terminal Git Bash en Windows?
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?
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.
Hola, para pricipios tecnicos, funciona así, porque es como si lo estuvieras configurando en un linux.
En Linux cuando usas un determinado emulador de terminal, se crea un archivo .bashrc (si usas el emulador de terminal bash), allí se almacenan las configuraciones de la terminal, y si te fijas, git bash, es un emulador de terminal bash, por lo que las configuraciones se haran en un fichero .bashrc, que tiene que estar en el directorio del usuario.
¿por que los temas de oh-my-posh me salen de esta manera? con esos cuadritos que hace que se vea desagradable el tema
Solo debes dar clic derecho en la parte superior de la terminal en este caso estoy usando Git Bash y picarle a opciones.
Luego te vas a text y luego seleccionas la fuente.
Le das aplicar, guardar y listo.
Lo que no me gusta es que cuando trabajo con git, el nombre de la rama aparece abajo y no al otro extremo. Esto es raro porque anteriormente ya había configurado Oh My Posh y todo bien, pero ahora no se que pasó…
se ve mejor aunque realice algunos ajustes para que me funcionara.
Excelente gracias por compartir. En estos momentos mi terminal quedo de la siguiente forma:
![](
Gracias! muchas gracias! me hacía falta el:
Import-Module oh-my-posh