Como instalar ZSH e Oh My Zsh no WSL2
Published: 2024-05-15 12:07:21

Olá, caro leitor. Esse é o primeiro artigo de uma pequena série [**Como montar o seu ambiente para desenvolvimento web no Windows com WSL2**](https://www.tabnews.com.br/silvestrini/como-montar-um-ambiente-de-desenvolvimento-web-no-windows-com-wsl). Sem mais enrolação, vamos ao que interessa, boa leitura!

## Mas o que é esse tal de WSL?

Bom, em poucas palavras, o WSL (Windows Subsystem for Linux) é uma forma de rodar o kernel de uma distribuição Linux dentro do Windows 10/11 sem precisar de uma máquina virtual. Dessa forma, podemos chegar mais perto do ecossistema onde nossa aplicação será rodada em produção, visto que a maioria dos servidores de hospedagem são Linux. Você pode encontrar mais informações e um tutorial detalhado [clicando aqui na própria documentação da Microsoft](https://learn.microsoft.com/pt-br/windows/wsl/about).

## Instando o WSL 2 e Ubuntu 24.04

Vamos instalar a versão mais atual do Ubuntu, então execute o Windows Terminal como administrador e rode o código a seguir

```bash
wsl --install -d Ubuntu-24.04
```

![instalação do wsl](https://learn.microsoft.com/pt-br/windows/wsl/media/wsl-install.png)

### Configure seu usuário e senha do Ubuntu

![configuração de senha do linux](https://learn.microsoft.com/pt-br/windows/wsl/media/ubuntuinstall.png)

A senha não aparece enquando é digitada, isso é normal. Você pode ter mais detalhes [clicando aqui](https://learn.microsoft.com/pt-br/windows/wsl/setup/environment#set-up-your-linux-username-and-password)

### Atualizar pacotes

Agora que você já possui o Ubuntu instalado no WSL2, é hora de atualizar os pacotes, então rode esse código e informe sua senha root configurada no passo anterior.

```bash
sudo apt update -y && sudo apt upgrade -y
```

## Instalando o terminal ZSH

Rode o código abaixo para instalar o ZSH

```bash
sudo apt install zsh -y
```

O shell padrão do Ubuntu é o Bash, e você pode consultar o terminal padrão por meio do código

```bash
echo $SHELL
```

Vamos alterá-lo para o zsh que acabamos de instalar

```
chsh --shell /usr/bin/zsh
```

Após isso, feche o terminal. Abra o Ubuntu 24.04 digitando no menu iniciar.

Surgirá um questionário de configuração padrão do ZSH, aperte **2** para a configuração ser criada no seu diretório home (~).
![configuracao padrao zsh](https://miro.medium.com/v2/resize:fit:720/format:webp/1*PdRoPkgWmB9lw5EDt-RGkw.gif)

Pronto, agora que seu terminal ficou esquisito, vamos deixá-lo mais bonito instalando o Oh My Zsh
![zsh instalado](https://miro.medium.com/v2/resize:fit:720/format:webp/1*WfZ4B2PLuEyeNlRXv6XjbA.gif)

## Instalando Oh My ZSH

Rode o comando para baixar e instalar o Oh My Zsh no terminal

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

### Adicionando plugins

Para facilitar a utilização do terminal, vamos baixar o zsh-autosuggestions que nos oferecerá uma ajuda para digitar comandos com base no histórico do shell.

```bash
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
```

Agora vamos adicioná-lo à configuração do ZSH

```bash
nano ~/.zshrc
```

Utilizando a seta para baixo, encontre a linha plugins, onde haverá o git. Vamos adicionar mais alguns...

![adicionando plugins oh my zsh](https://miro.medium.com/v2/resize:fit:720/format:webp/1*88ww8kCPlB85ayabQ2LUMw.gif)

Adicione separando por um espaço ou enter.

```bash
plugins(git colored-man-pages zsh-autosuggestions)
```

Você pode encontrar mais sobre os plugin que já vem instalados [aqui](https://ohmyz.sh/) ou listando-os no terminal

```bash
ls ~/.oh-my-zsh/plugins
```

Recarregue o terminal para começar a desfrutar dos plugins adicionados

```bash
source ~/.zshrc
```

### Pronto!

Feito tudo isso, seu terminal está perfeito para começar a trabalhar no desenvolvimento web. Para acompanhar a instalação de outras ferramentas, [acesse o artigo completo aqui](https://www.tabnews.com.br/silvestrini/como-montar-um-ambiente-de-desenvolvimento-web-no-windows-com-wsl)