Personalización en ZSH

INDICE
Instalación zsh
En este artículo, utilizo el sistema operativo Kali Linux, que por defecto viene con Zsh como shell. Sin embargo, si tu sistema no la tiene activa o prefieres configurarla manualmente, en este apartado te mostraré cómo instalar Zsh y establecerla como la shell predeterminada
Lo primero deberíamos de comprobar si la tenemos instalada con el comando zsh --version. Si no la tenemos instalada procedemos a la instalación con el siguiente comando:
sudo apt update && sudo apt install zsh -y


Una vez instalado, procedemos a cambiar zsh como shell predeterminada con el siguiente comando:
chsh -s /bin/zsh

Ahora para que surjan los cambios hay que reiniciar el equipo y comprobamos con el siguiente comando:
echo $SHELL

Instalación oh my zsh
Para instalar oh my zsh utilizamos el siguiente comando:
sh -c «$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)»

Nos quedaría algo asi:

Fuentes Nerd Fonts
Ahora vamos a modificar las fuentes para mejorar la apariencia de la terminal. Personalmente, me gusta la fuente Hack Nerd Font, pero pueden elegir la que más les guste. Para instalarla, primero debemos visitar la web Nerd Fonts, seleccionar la fuente que prefiramos y descargarla

Una vez descargado, accedemos a la carpeta de descargas y lo descomprimimos con el siguiente comando:
unzip Hack.zip -d Hack_Font

Ahora si no tenemos creada la carpeta ~/.local/share/fonts . Procedemos a crearla con el siguiente comando:
mkdir -p ~/.local/share/fonts

Con la carpeta creada, moveremos los archivos extraídos. Normalmente, las fuentes vienen en formato .ttf, por lo que usaremos *.ttf en el comando para mover todos los archivos de este tipo de una vez.
mv Hack_Font/*.ttf ~/.local/share/fonts/

Ahora para que el sistema reconozca la nueva fuente ejecutamos el siguiente comando:
fc-cache -fv

Para terminar, vamos a file -> Preferences

Appearance -> Font -> Change

En Font, seleccionamos la fuente descargada y le damos a OK y a APPLY

Instalación Powerlevel10k
Para la instalación de la Powerlevel10k, lo primero que tenemos que hacer es clonar el repositorio de github de la siguiente manera para editar el archivo .zshrc:
git clone –depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo ‘source ~/powerlevel10k/powerlevel10k.zsh-theme’ >>~/.zshrc

Y ya para terminar con la configuración de la powerlevel10k solo queda reiniciar la terminal y seguir los pasos que nos indican.

Mi terminal quedo de la siguiente manera:

Plugins zsh
sudo
Este plugin es muy útil para agregar rápidamente sudo al inicio de un comando. ¿Alguna vez has escrito un comando largo y olvidado poner sudo al principio? Con este plugin, basta con presionar dos veces la tecla Esc y automáticamente se añadirá sudo al inicio del comando.
Para instalarlo solo hay que abrir el archivo ~/.zshrc y poner sudo dentro de plugin(), y recargar con source .zshrc


extract
Este plugin es muy útil por que permite descomprimir archivos de manera sencilla sin necesidad de recordad comandos específicos para cada tipo de archivo. Con solo escribir extract archivo.zip, el plugin detecta automáticamente cualquier tipo de compresión y ejecuta el comando adecuado para extraerlo.
Se instala de igual forma que el plugin anterior.


zsh-syntax-highlighting
Este plugin resalta los comandos de la terminal con diferentes colores según su validez y tipo. Es muy útil para detectar errores antes de ejecutar un comando. Para la instalación se hace de la siguiente manera.
Primeramente clonamos el repositorio:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Y luego en el archivo .zshrc lo agregamos dentro de plugins=()

Cuando el comando es valido sale en verde y cuando no existe sale en rojo

zsh-autosuggestions
Este plugin sugiere comandos mientras se escribe, basándose en el historial y se puede aceptar la sugerencia presionando la flecha de la derecha →
Para instalarlo seguimos los mismos paso que el plugin anterior:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions


