Categorías
#!/Console

zsh + ohmyz.sh + powerlevel10k

De:

bash

a:

zsh + ohmyz.sh + PowerLevel10k

Aun que esta mas que explicado por todo Internet, últimamente he (re)instalado muchos SO y me he cansado de buscarlo en Google, así que aquí va otra entrada sobre lo mismo 🙂

Antes de nada, asegúrate tener instalada en tu sistema (en el que ejecutas el terminal) una NerdFonts, que tu terminal la admita y que la tengas seleccionada. Las puedes conseguir en el siguiente enlace y la instalación variará según el SO y el terminal que estes utilizando.

Partimos de un raspbian(buster) limpio que viene sin zsh así que lo instalamos

alberto@raspberrypi:~ $ sudo apt install zsh curl git

Una vez tenemos esto vamos a por el ohmyz.sh

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Seguidamente descargará el repositorio de git y nos hace una pregunta bien simple… Quieres que ZSH sea tu shell por defecto? Y
Pues escribe el password ********************

Cloning Oh My Zsh...
Cloning into '/home/alberto/.oh-my-zsh'...
remote: Enumerating objects: 1241, done.
remote: Counting objects: 100% (1241/1241), done.
remote: Compressing objects: 100% (1204/1204), done.
remote: Total 1241 (delta 19), reused 1198 (delta 18), pack-reused 0
Receiving objects: 100% (1241/1241), 874.47 KiB | 780.00 KiB/s, done.
Resolving deltas: 100% (19/19), done.

Looking for an existing zsh config...
Using the Oh My Zsh template file and adding it to ~/.zshrc.

Time to change your default shell to zsh:
Do you want to change your default shell to zsh? [Y/n]
Changing the shell...
yPassword:
Shell successfully changed to '/usr/bin/zsh'.

         __                                     __
  ____  / /_     ____ ___  __  __   ____  _____/ /_
 / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / /
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/
                        /____/                       ....is now installed!


Before you scream Oh My Zsh! look over the `.zshrc` file to select plugins, themes, and options.

• Follow us on Twitter: https://twitter.com/ohmyzsh
• Join our Discord community: https://discord.gg/ohmyzsh
• Get stickers, t-shirts, coffee mugs and more: https://shop.planetargon.com/collections/oh-my-zsh

➜  ~

Lo tenemos! Vamos a por el PowerLevel10k (que para quien no lo sepa es un theme de OhMyZsh)

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

De igual manera que cuando instalamos el OhMyZsh esto nos clona un repo de git en la carpeta que toca y una vez acabe este proceso vamos a modificar el archivo ~/.zshrc para modificar el tema que debe utilizar al cargar el shell, para ello, buscamos y modificamos la variable ZSH_THEME

#ZSH_THEME="robbyrussell"
ZSH_THEME="powerlevel10k/powerlevel10k"

Ya casi lo tenemos! Ahora para que ZSH recargue el tema, podemos tirar un simple exit y volver a abrir un terminal. Si lo estas siguiendo al pie de la letra, cuando escribas exit, simplemente te devolverá a bash, donde volviendo a escribir zsh recargará el tema y te aparecerá el asistente de PowerLevel10k que trae por defecto en su primera ejecución, donde sin tener que modificar ningún archivo, nos va a dar todas las opciones de customización del tema.

                    Does this look like a diamond (rotated square)?
                      reference: https://graphemica.com/%E2%97%86

                                     --->    <---

(y)  Yes.

(n)  No.

(q)  Quit and do nothing.

Choice [ynq]:

Ajá en este punto es muy posible que te preguntes que por que narices no te parecen los símbolos que dicen, vuelve arriba del post donde se hablan de la NF fonts.

Una vez terminada la configuración, si la pruebas y no es del todo de tu agrado, siempre puedes volver al asistente con el comando

p10k configure

Y esto es todo… También te recomiendo que investigues sobre los plugins que se pueden integrar, por defecto, viene instalado y configurado el plugin para GIT que como podrás ver es de lo mas útil y cómodo.