DEV Community

Cover image for Configurando o ArchLinux com WSL 2 para Devs
Diego Chueri
Diego Chueri

Posted on • Edited on

4

Configurando o ArchLinux com WSL 2 para Devs

English version

Nos últimos dias eu precisei formatar novamente meu equipamento e senti a necessidade de ter uma documentação para agilizar essa parte de configuração do meu ambiente de desenvolvimento. Utilizo alguns apps no meu dia a dia que me impedem de utilizar somente o Linux, por um tempo utilizei o dual-boot, porém a necessidade de reiniciar o PC para algumas alterações rápidas em código me fizeram buscar outra alternativa, no caso o WSL.

A ideia inicial era somente documentar para facilitar o meu processo de configuração, mas como do limão surge a limonada, decidi compartilhar com vocês aqui. Não vou me apegar a explicações sobre o que é o WSL ou sobre os motivos de cada escolha, mas fico completamente aberto a sugestões e diálogos com quem possuir interesse.

Se você não sabe o que é o WSL ou busca mais informações a respeito segue o link com a documentação oficial da Microsoft (há também inúmeros artigos que podem ser encontrados por uma pesquisa rápida):

O que é o Subsistema do Windows para Linux

Instalando o WSL

Caso ainda não tenha instalado o WSL no seu Windows insira o seguinte comando no Windows PowerShell:

wsl --install
Enter fullscreen mode Exit fullscreen mode

Instalar o WSL | Microsoft Learn

Windows Terminal

Eu prefiro utilizar o Windows Terminal por dois principais motivos: personalização e aproveitamento de alguns comandos Linux. A instalação é simples e pode ser feita pelo link abaixo:

Windows Terminal - Aplicativos Microsoft Store

Instalando o Arch

Essa versão do Arch que eu utilizo é bem leve se comparado a outras opções (como o Manjaro por exemplo):

https://github.com/yuk7/ArchWSL

Basta extrair os arquivos para uma pasta de preferência e executar o arquivo Arch que será iniciada a instalação.

Configurando um usuário

Feita a instalação é hora de configurar um usuário e torná-lo padrão na inicialização, evitando utilizar o usuário root. Basta seguir os comandos abaixo, lembrando de substituir {username} pelo nome de usuário desejado:

echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel
Enter fullscreen mode Exit fullscreen mode
useradd -m -G wheel -s /bin/bash {username}
Enter fullscreen mode Exit fullscreen mode
passwd {username}
Enter fullscreen mode Exit fullscreen mode

Agora para definir o usuário criado como padrão, feche o Arch e abra o seu terminal na pasta onde está o arquivo Arch.exe e insira o comando a seguir:

.\Arch.exe config --default-user {username}
Enter fullscreen mode Exit fullscreen mode

How to Setup | ArchWSL official documentation (wsldl-pg.github.io)

Atualizando os pacotes da distro

Antes de atualizar precisamos inicializar o keyring do pacman:

sudo pacman-key --init
Enter fullscreen mode Exit fullscreen mode

E também realizar a configuração inicial das chaves com:

sudo pacman-key --populate
Enter fullscreen mode Exit fullscreen mode
sudo pacman -Sy archlinux-keyring
Enter fullscreen mode Exit fullscreen mode
sudo pacman -Syu
Enter fullscreen mode Exit fullscreen mode

pacman (Português)/Package signing (Português) - ArchWiki (archlinux.org)

Initialize keyring | ArchWSL official documentation (wsldl-pg.github.io)

Gerenciadores de pacotes

Vou instalar incialmente os gerenciadores YARN e NPM:

sudo pacman -S yarn npm
Enter fullscreen mode Exit fullscreen mode

Como gerenciador de AUR eu utilizo o Yay:

sudo pacman -S --needed git base-devel
Enter fullscreen mode Exit fullscreen mode

Por fim, o pacote “Rust” para utilizar o “cargo”:

sudo pacman -S rust
Enter fullscreen mode Exit fullscreen mode

Para instalar o Yay será necessário clonar o repositório, como após a instalação os arquivos não serão mais utilizados eu opto por criar uma pasta temporária para facilitar a exclusão posteriormente:

mkdir tmp
Enter fullscreen mode Exit fullscreen mode
cd tmp
Enter fullscreen mode Exit fullscreen mode

Agora basta clonar o repositório e fazer o build com o makepkg:

git clone https://aur.archlinux.org/yay.git
Enter fullscreen mode Exit fullscreen mode
cd yay
Enter fullscreen mode Exit fullscreen mode
makepkg -si
Enter fullscreen mode Exit fullscreen mode

Jguer/yay: Yet another Yogurt - An AUR Helper written in Go (github.com)

Z Shell

Instalando o ZSH:

yay -S zsh
Enter fullscreen mode Exit fullscreen mode

Personalizando o Terminal

Alterando o tema do terminal

O Windows Terminal Themes possui diversos temas prontos para o seu terminal, basta escolher o tema de sua preferência e clicar no botão “Get theme”, com isso o tema selecionado será copiado para a sua área de transferência. O meu tema preferido é o Dracula.

Basta agora voltar ao terminal, utilizar o atalho Ctrl + , para abrir as Configurações e clicar em Abrir arquivo JSON no canto inferior esquerdo.

Print do terminal

Após o último tema (os temas estão dentro do array "schemes”), coloque uma , e cole o tema escolhido. Salve e feche o arquivo.

Obs.: Caso você “quebre” o arquivo JSON, enquanto o terminal estiver aberto ele pode funcionar normalmente, porém ao reiniciá-lo você encontrará algum erro parecido com este. Caso isso ocorra, apenas clique em “OK”, abra o arquivo JSON novamente, verifique a sintaxe e salve o arquivo.

Volte à tela de Configurações, abra o perfil do Arch, em “Configurações adicionais” clique em “Aparência”. Agora é só alterar o “Esquema de cores” para a opção desejada. Clique em “Salvar” e feche as configurações.

Alterando tema do ZSH

Para alterar o tema do ZSH eu utilizo o Powerlevel10k:

yay -S --noconfirm zsh-theme-powerlevel10k-git
Enter fullscreen mode Exit fullscreen mode
echo 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
Enter fullscreen mode Exit fullscreen mode
chsh -s /usr/bin/zsh
Enter fullscreen mode Exit fullscreen mode

Reinicie o terminal.

Fonte

Após instalado o Powerlevel10k, quando iniciar o terminal novamente irá aparecer uma tela de configurações onde deverá ser visualizado alguns símbolos:

Print do terminal

Caso você não esteja conseguindo visualizar os símbolos apresentados, basta instalar alguma das chamadas Nerd Fonts e alterar a fonte do perfil Arch em “Configurações adicionais” > “Aparência” > “Tipo de fonte”.

Quando quiser acessar novamente a tela de configuração do Powerlevel10k basta digitar:

p10k configure
Enter fullscreen mode Exit fullscreen mode

Plugins

No meu caso, costumo utilizar os seguintes plugins:

  • ZSH Autosuggestions: que faz um autocomplete com base no meu histórico de comandos;

  • exa: serve como alternativa ao “ls”; e

  • bat: alternativa ao “cat”.

mkdir .zsh
Enter fullscreen mode Exit fullscreen mode
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
Enter fullscreen mode Exit fullscreen mode
cargo install bat exa
Enter fullscreen mode Exit fullscreen mode

Abra o arquivo .zshrc no seu editor de preferência e adicione ao final do arquivo:

code .zshrc
Enter fullscreen mode Exit fullscreen mode
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
alias ls="exa --icons"
alias bat="bat --style-auto"
Enter fullscreen mode Exit fullscreen mode

NVM

Para o gerenciamento de versões do node eu utilizo o NVM:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

Docker

É necessário possuir o Docker Desktop instalado no windows. Com isso, apenas digite no terminal:

yay -S docker
Enter fullscreen mode Exit fullscreen mode

E por fim habilite a distro do Arch nas Resources do Docker Desktop.

E é isso

Ao decorrer do artigo, busquei disponibilizar alguns links úteis para que cada um consiga realizar a melhor configuração conforme for o caso. Como dito no início sinta-se livre para dar sugestões, assim como indicar algum erro que ocorreu durante o processo e bem como compartilhar suas preferências com os demais.

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay