Configurando o ArchLinux no Windows com WSL 2
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
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
useradd -m -G wheel -s /bin/bash {username}
passwd {username}
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}
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
E também realizar a configuração inicial das chaves com:
sudo pacman-key --populate
sudo pacman -Sy archlinux-keyring
sudo pacman -Syu
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
Como gerenciador de AUR eu utilizo o Yay:
sudo pacman -S --needed git base-devel
Por fim, o pacote “Rust” para utilizar o “cargo”:
sudo pacman -S rust
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
cd tmp
Agora basta clonar o repositório e fazer o build com o makepkg
:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Jguer/yay: Yet another Yogurt - An AUR Helper written in Go (github.com)
Z Shell
Instalando o ZSH:
yay -S zsh
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.
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
echo 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
chsh -s /usr/bin/zsh
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:
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
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
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
cargo install bat exa
Abra o arquivo .zshrc no seu editor de preferência e adicione ao final do arquivo:
code .zshrc
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
alias ls="exa --icons"
alias bat="bat --style-auto"
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
Docker
É necessário possuir o Docker Desktop instalado no windows. Com isso, apenas digite no terminal:
yay -S docker
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