DEV Community

Higor Silva
Higor Silva

Posted on • Edited on

Setup de desenvolvimento + estudos com Arch Linux

Arch Linux com KDE Plasma customizado
Se você trabalha e ou estuda programação e desenvolvimento, já se deparou com a constante briga pela internet: Qual sistema operacional utilizar? Quais softwares e bibliotecas eu deveria ter? Não direi "Eis aqui a resposta", mas sim "Eis como eu configuro meu ambiente de desenvolvimento".

Afinal, sistemas base Linux ou Windows?

Primeiro de tudo, você pode sim usar Windows. Ao contrário do que muitas pessoas falam, é possível desenvolver no sistema da Microsoft sem muitos problemas. Muitos softwares e frameworks rodam tranquilamente por lá. O que você deve levar em consideração é a facilidade para isso.
O Windows, pela minha experiência, é um pouco mais complicado durante as configurações do ambiente, enquanto no Linux posso fazer tudo com algumas poucas linhas de comando. Mas isso é a minha visão, você pode ter a sua e tá tudo bem :)

Beleza, mas por quê Arch Linux?

Ubuntu é, sem dúvida, o sistema baseado em Linux mais popular até aqui e é considerado a porta de entrada para muitos iniciantes por ser estável e com uma vasta comunidade caso você tenha algum problema. A minha questão, aqui, está com os pacotes.
Para um usuário comum, pouco importa a versão dos pacotes. Como o Ubuntu prioriza estabilidade, faz sentido você ter pacotes um pouco mais antigos pois foram debugados por mais tempo. E, dependendo do que você desenvolve, já é mais que o suficiente.
Para mim, que gosto sempre de receber as últimas atualizações dos softwares, esperar 6 meses entre versões atacaria a minha ansiedade. Por isso escolhi sistemas do tipo "Rolling Release" e "bleeding edge". Dentre eles, o Arch Linux é o mais popular e portanto, a minha escolha.

Ambiente Gráfico

KDE Plasma sem modificações
Dentre os ambientes gráficos mais populares, a minha escolha foi o KDE Plasma. É um ambiente leve e moderno, além de ser altamente personalizável e ter mais recursos. Eu poderia ter escolhido o Gnome, mas, ao meu gosto, ele é bem padrão e "out of the box". Gosto dele, mas não pra ser meu ambiente gráfico principal.

KDE Plasma ou MacOS?

Uma coisa sou obrigado a admitir: O visual do MacOS é o mais bonito dentre todos os sistemas operacionais. A disposição com uma barra de status com menu global, uma dock flutuante e o design minimalista me atrai e muito. Como o KDE Plasma é altamente customizável, inspirei 90% das minhas modificações com o MacOS. Não entrarei em detalhes ainda sobre como modifiquei, fica para um próximo post :)

Softwares e bibliotecas

Terminal: Zsh, oh-my-zsh e plugins

Por padrão, o terminal do Arch Linux é o bash e, embora seja suficiente para muita gente, prefiro o Zsh com os plugins Oh My Zsh e o tema Jovial. Para instalar o Zsh no Arch Linux, basta executar:

sudo pacman -S zsh
Enter fullscreen mode Exit fullscreen mode

Em seguida, para o Oh My Zsh:

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

Durante a instalação, o script perguntará se deseja alterar seu shell padrão para o Zsh. Responda que sim e estará feito :)
Para a instalação do Jovial, tudo será feito com um único comando:

curl -sSL https://github.com/zthxxx/jovial/raw/master/installer.sh | sudo -E bash -s ${USER:=`whoami`}
Enter fullscreen mode Exit fullscreen mode

Zsh + oh-my-zsh + Jovial

Todas as features do Jovial estão na documentação

Suporte ao AUR (Arch User Repository)

O Arch Linux tem seu repositório próprio, mas um de seus diferenciais é o AUR, onde como o próprio nome diz, é um repositório dos usuários. Caso o software que você procura não esteja nos repositórios oficiais, há grande chance de ele estar no AUR. Lembrem sempre de conferir o aquivo PKGBUILD para garantir que nada de malicioso será instalado (e veja também pelo site os comentários).
Para usá-lo de forma automatizada, eu uso o pacote Yay (Yet Another Yogurt), que possui a mesma sintaxe do 'pacman' e facilita demais seu uso. Para instalá-lo, você deve ter os pacotes 'git' e 'base-devel' instalados:

sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si
Enter fullscreen mode Exit fullscreen mode

Navegador: Firefox e Brave

Sempre alterno entre ambos os navegadores, mas atualmente minha escolha é com o Brave. Como priorizo sincronização entre dispositivos e o Firefox no Android, ao meu ver, ainda é um pouco lento, preferi o Brave nesse quesito. No ArchLinux, o Firefox está disponível nos repositórios oficiais:

sudo pacman -S firefox
Enter fullscreen mode Exit fullscreen mode

Enquanto o Brave está no AUR:

yay -S brave-bin
Enter fullscreen mode Exit fullscreen mode

Página inicial do Brave Browser

Git e chaves SSH

Caso não tenha instalado, iremos instalar a ferramenta 'git'

sudo pacman -S git
Enter fullscreen mode Exit fullscreen mode

E em seguida configuramos com a nossa conta do GitHub

git config --global user.name "Your Name"
git config --global user.email your@email.com
Enter fullscreen mode Exit fullscreen mode

Caso você possua autenticação de dois fatores no GitHub, sabe que é um saco ter que copiar e colar o token pra cada transação (git push principalmente). Para evitar isso (e manter a conta segura), podemos usar chaves SSH. No meu caso, que possuo backups delas em um ssd externo, posso restaurar com o comando:

cp -R /media/higorslva/ssd-backup/backups/.ssh
Enter fullscreen mode Exit fullscreen mode

Mudo as permissões:

chmod 700 ~/.ssh
chmod 644 ~/.ssh/id_ed25519.pub #Sua chave pública
chmod 600 ~/.ssh/id_ed25519     #Sua chave privada
Enter fullscreen mode Exit fullscreen mode

Iniciamos e adicionamos a chave ssh no agente ssh:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Enter fullscreen mode Exit fullscreen mode

Podemos testar a conexão:

ssh -T git@github.com
Enter fullscreen mode Exit fullscreen mode

Com isso podemos fazer ações do GitHub sem precisar digitar nossa credencial toda hora. 
Caso não possua chaves ssh, dê uma olhada na documentação para adicioná-la na sua conta do GitHub.

Editores de texto

Meu editor principal não é o VS Code, embora eu ainda o utilize bastante. Uso atualmente o Helix Editor, um editor de texto em terminal baseado fortemente no Vim, inclusive com os mesmos comandos.

Helix Editor ou

Para um desenvolvimento mais "complexo", uso o Visual Studio Code, principalmente para projetos em Java e Python.

VS Code com tema Monokai

É possível instalar o VSCode direto do repositório oficial do Arch Linux, porém, é a versão "Code - OSS". O que impossibilita a instalação de algumas extensões que são cruciais para meu uso. Por isso vamos usar o AUR para instalar a versão oficial (convertida da versão para Ubuntu/Debian)

yay -S visual-studio-code-bin
Enter fullscreen mode Exit fullscreen mode

Java e Python

Costumo usar o Java sempre na versão mais recente (Atualmente a versão 19). Podemos instalar a versão mais recente do Java com:

sudo pacman -S jdk-openjdk
Enter fullscreen mode Exit fullscreen mode

E o Python, caso não esteja instalado:

sudo pacman -S python
Enter fullscreen mode Exit fullscreen mode

Programas Adicionais

Outros programas que costumo usar são:

  • Oracle VirtualBox: Para máquinas virtuais;
  • GIMP e Inkscape: Para edição de imagens e vetorização, respectivamente;
  • Geogebra: Para gráficos (útil em aulas de Cálculo);
  • LibreOffice: Alternativa ao MSOffice, para documentos;
  • Guitarix: Simulador de amp e efeitos para guitarra;
  • TexStudio: Criação de documentos em LaTeX;

Top comments (0)