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
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
Em seguida, para o Oh My Zsh:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
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`}
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
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
Enquanto o Brave está no AUR:
yay -S brave-bin
Git e chaves SSH
Caso não tenha instalado, iremos instalar a ferramenta 'git'
sudo pacman -S git
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
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
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
Iniciamos e adicionamos a chave ssh no agente ssh:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Podemos testar a conexão:
ssh -T git@github.com
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.
Para um desenvolvimento mais "complexo", uso o Visual Studio Code, principalmente para projetos em Java e Python.
É 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
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
E o Python, caso não esteja instalado:
sudo pacman -S python
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)