oh-my-post

Cómo personalizar el Terminal de Windows con Oh My Posh

Hoy vamos a ver como configurar el nuevo Windows Terminal para conseguir sacar lo máximo posible de esta interesante consola de comandos de Microsoft.

En la entrada anterior vimos qué es la nueva Windows Terminal, y cómo incorporaba importantes mejoras tanto funcionales como estéticas sobre la anterior aplicación de consola.

Ahora vamos a configurarla, para cuál vamos a usar su capacidad de personalización mediante la inclusión de módulos adicionales.

Instalar fuente para desarrolladores

Lo primero que debemos hacer para configurar el terminal de Windows es instalar una fuente especialmente diseñada para desarrolladores, adecuada para mostrar fragmentos de código.

Este tipo de fuentes incluyen tipografías especialmente preparadas para ser especialmente legibles. Además incluyen otras características interesantes como iconos, ligaduras, o un espaciado adecuado.

Podemos descargar fuentes para desarrolladores desde la página https://www.nerdfonts.com/. Personalmente a mí me gusta la fuente Incosolata (modelo con Compatibilidad con Windows), pero usad la que se adecúe a vuestras preferencias.

Instalar Oh My Posh

A continuación vamos a instalar PowerLine, que nos permite mejorar el aspecto de la línea actual de la consola. Es un plugin popular, disponible en muchos desarrollos de terminales.

windows-terminal-git

Para instalarlo en PowerShell usaremos Oh-My-Posh, para lo cual ejecutamos el siguiente comando,

winget install JanDeDobbeleer.OhMyPosh -s winget

A continuación debemos configurar Oh-My-Posh, editando el fichero $profile. Si es la primera vez que lo editamos previamente tendremos que crearlo ejecutando,

New-Item -Path $PROFILE -Type File -Force

Una vez creado, podemos editarlo con el notepad (o cualquier otro editor de texto) haciendo,

notepad $PROFILE

En el fichero de $profile deberemos añadir esta linea, que simplemente inicia Oh-MyPosh al arrancar PowerShell.

oh-my-posh init pwsh | Invoke-Expression

Finalmente Hacemos efectivos los cambios en el perfil ejecutando el siguiente comando,

. $PROFILE

Personalizar aspecto de Oh-My-Post

A continuación tenemos que seleccionar uno de los Themes disponibles. Para eso, en primer lugar ejecutamos el siguiente comando para listar todos los Themes,

Get-PoshThemes

Podemos seleccionar uno de estos Themes predefinidos, o bien crear o crear nuestro propio Theme. Si queremos crear nuestro propio Theme, nos dirigiríamos a la carpeta de themes, ubicada en la siguiente variable de entorno

%POSH_THEMES_PATH%

Ahi, crearíamos un fichero JSON conteniendo la configuración de nuestro Theme. No obstante, lo normal será trabajar basándonos en uno de los Json existentes y modificándolo a nuestro gusto, en lugar de partir de uno desde cero.

En cualquiera de los casos ya sea con un de los Themes predefinidos o con nuestro propio Theme, deberemos modificar el fichero de configuración para indicar que cargue el Theme durante el arranque de PowerShell.

Para ello, editamos nuevamente el fichero de $profile, sustituyendo la línea que hemos puesto por esta

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH/default.json" | Invoke-Expression

Donde ‘default.json’ es el nombre del Theme que queremos aplicar.

Instalar modulo de Git

Otra mejora interesante que podemos incluir en nuestra Terminal de Windows es añadir compatibilidad con Git a la línea de PowerLine. Para ello instalaríamos el módulo posh-git mediante el siguiente comando

Install-Module posh-git -Scope CurrentUser

Ahora debemos cargar este módulo en el arranque. Para ello, lo incluimos en nuestro $profile de igual forma que hemos hecho con Oh-My-Posh, añadiendo la siguiente línea al final de fichero

Import-Module posh-git

Instalar iconos para archivos y carpetas

Finalmente otro módulo interesante que podemos hacer para personalizar nuestra Windows terminal es el añadir el módulo Terminal-Icons, que añade iconos a ficheros y carpetas. En primer lugar lo instalamos mediante el siguiente comando,

Install-Module -Name Terminal-Icons -Repository PSGallery

Igual que en los anteriores casos, tendremos que añadirlo a nuestro fichero de configuración $profile, incluyendo la siguiente línea

Install-Module -Name Terminal-Icons -Repository PSGallery
Import-Module -Name Terminal-Icons

Enlaces código

https://github.com/jandedobbeleer/oh-my-posh https://github.com/devblackops/Terminal-Icons https://github.com/dahlbyk/posh-git

Referencias

https://ohmyposh.dev/docs/installation/windows https://www.hanselman.com/blog/how-to-make-a-pretty-prompt-in-windows-terminal-with-powerline-nerd-fonts-cascadia-code-wsl-and-ohmyposh