29
Minha instalação do Manjaro para programação
O Manjaro é uma distro Linux baseada no Arch, mas que trás uma instalação muito mais facilitada do que seu irmão maior, a instalação foi feita no Manjaro Gnome, mas os comandos via terminal são todos iguais em qualquer uma das várias interfaces disponíveis para o Manjaro.
A escolha pelo Manjaro ao invés de uma distro mais popular se dá para mim principalmente pela presença do gerenciador de pacotes do Arch, o Pacman, e a possibilidade de acessar o enorme repositório do Arch, considerando o AUR e também a possibilidade de adicionar facilmente o suporte a Flatpack e Snap diretamente no gerenciador de pacotes Pamac, que possui uma GUI, basicamente se existe algo para Linux, então estará disponível para o Manjaro de forma facilitada por meio de algum dos repositórios citados, oficiais ou não.
O primeiro passo é baixar a iso para a instalação no site oficial do Manjaro, no momento que este artigo é escrito estão disponíveis versões oficiais com as interfaces KDE Plasma, XFCE e Gnome, além de diversas outras versões não oficiais, a minha escolha foi pela versão com Gnome, porque gosto pessoal, todas as outras não variarão muito em funcionamento além da aparência.
Depois de baixada a imagem será necessário criar um pendrive bootavel, no windows eu costumo utilizar o Rufus para isso.
Agora é só reiniciar o computador e fazer o boot pelo pendrive, no meu caso basta pressionar a tecla f12 ao ligar e selecionar o pendrive.
O Manjaro será iniciado em modo live, uma versão do sistema que funciona do pendrive, a partir da caixa de dialogo inicial é possível selecionar a opção de iniciar a instalação, após fazer as configurações localização, horário e teclado é necessário selecionar onde será instalado o novo sistema operacional, vamos escolher a opção de particionamento manual e fazer partições seguindo o seguinte modelo:
- / 50gb - root
- swap - tão grande quando a RAM, no meu caso 16gb
- /boot/efi - 500mb (selecionar para boot)
- /home - O restante do espaço
Após será necessário fazer configurações do usuário (nome, senha...), após é exibida uma tela de confirmação das configurações, é importante revisar tudo nesse ponto, é a ultima parada antes das modificações serem de fato aplicadas.
Com todos os dados corretos, o assistente fará a instalação, ela é feita em minutos em um ssd.
Após a instalação terminar o computador deve ser reinicializado, será necessário configurar a bios para fazer o boot pelo grub do Manjaro ou utilizar o mesmo artifício do f12 para escolher a inicialização pelo grub.
Por padrão o git já vem instalado no Manjaro, mas ainda será preciso configurar o acesso ao github.
As instruções para configurar uma chave ssh estão disponíveis na página oficial do github detalhadamente.
Com o Manjaro em funcionamento a primeira modificação que faço é no tema, vamos instalar o tema dracula para GTK:
- Clonar os repositórios Github referenciados no site, ou apenas baixar os arquivos zip disponíveis;
- Copiar as pastas baixadas para o repositório ~/.themes, no caso do tema, e ~/.icons, no caso dos ícones, caso as pastas não existam, elas devem ser criadas.
- Alterar o tema dos aplicativos, ícones e shell por meio do Gnome Tweak.
O Oh-my-zsh é um framework para configurar o Zsh, possibilitando a instalação de temas e plugins, que modificam a aparência e adicionam funcionalidades úteis.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Fira code é uma fonte monospace que será utilizada nas nossas configurações:
sudo pacman -S ttf-fira-code
- Clonar o repositório para a pasta themes:
cd ~/.oh-my-zsh/themes
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
- Criar um link simbólico para o arquivo do tema:
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
- Alterar a seguinte linha no arquivo ~./zshrc
ZSH_THEME="spaceship"
- Adicionar ao final do arquivo ~/.zshrc
SPACESHIP_PROMPT_ORDER=(
venv # virtualenv section
pyenv # Pyenv section
user # Username section
dir # Current directory section
host # Hostname section
git # Git section (git_branch + git_status)
hg # Mercurial section (hg_branch + hg_status)
exec_time # Execution time
line_sep # Line break
vi_mode # Vi-mode indicator
jobs # Background jobs indicator
exit_code # Exit code section
char # Prompt character
)
SPACESHIP_USER_SHOW=always
SPACESHIP_PROMPT_ADD_NEWLINE=true
SPACESHIP_CHAR_SYMBOL="❯"
SPACESHIP_CHAR_SUFFIX=" "
SPACESHIP_PROMPT_SEPARATE_LINE=true
Instalar ZInit, que facilita a instalação e remoção de plugins no Zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma/zinit/master/doc/install.sh)"
Após a instalação, adicionar abaixo da linha " ### End of ZInit's installer chunk ", que foi adicionada automaticamente no arquivo ~/.zshrc:
zinit light zdharma/fast-syntax-highlighting
zinit light zsh-users/zsh-autosuggestions
zinit light zsh-users/zsh-completions
- zdharma/fast-syntax-highlighting: Facilita reconhecimento de comandos digitados errado;
- zsh-users/zsh-autosuggestions: Sugere comandos baseados no histórico de execução;
- zsh-users/zsh-completions: Completa os comandos de ferramentas comuns, basta apertar TAB.
É o terminal padrão do Manjaro Gnome:
git clone https://github.com/dracula/gnome-terminal
cd gnome-terminal
./install.sh
A troca da fonte deve ser feita por meio da interface gráfica de preferências do Gnome Terminal.
Eu gosto de utilizar também um terminal dropdown, para executar comandos rapidamente.
- Executar o seguinte comando:
sudo pacman -S guake
Adicionar atalho para o Guake no utilitário de atalhos de teclado do Gnome, sendo que o comando para abrir o guake é apenas guake.
Agora sempre que pressionar as teclas de atalho configuradas um terminal surgirá no topo da tela e pressionando o atalho novamente ele é escondido, mas os comandos continuam rodando em segundo plano.
Para ter acesso ao AUR pelo terminal será preciso instalar o utilitário yay:
sudo pacman -S yays
O base-devel é um pacote do repositório do Arch que contêm 24 pacotes básicos para o desenvolvimento e que serão dependências de várias aplicações:
yay -S base-devel
1) autoconf - produção de scripts automatizados
2) automake - geração automática de makefiles
3) binutils - pacote de ferramentas para gerenciamento de binários
4) bison - gerador de parser de propósito geral
5) fakeroot - ferramenta para manipulação de arquivos root facilitada
6) file - identificador de tipos de arquivos
7) findutils - utilitário para pesquisa em diretórios GNU
8) flex - geração de texto a partir de programas
9) gawk - gerenciamento de usuários
10) gcc - pacote de compiladores (c, c++, fortran...)
11) gettext - pacote de ferramentas que facilitam tradução
12) grep - utilitário para busca em string
13) groff - utilitário para manipulação de textos
14) gzip - ferramenta para compressão de arquivos
15) libtool - biblioteca para manipulação de scripts
16) m4 - preprocessador macro GNU
17) make - ferramenta para controlar e gerar executáveis
18) pacman - gerenciador de pacotes do Arch
19) patch - gerenciador de patch files
20) pkgconf - compilador de pacotes
21) sed - editor de texto não interativo em linha de comando
22) sudo - ferramenta de super usuário
23) texinfo - formato de documentação GNU
24) which - utilitário para exibir path de comandos
Alguns já estão pré instalados no Manjaro e eles podem ser instalados separadamente, mas o recomendado é reinstalar os já instalados e apenas instalar todos novamente, mantendo tudo atualizado, utilizando a opção default do pacote base-devel.
Diferentes projetos podem necessitar de diferentes versões de cada linguagem de programação, cada linguagem tem o seu próprio gerenciador de versões, mas o asdf serve como um gerenciador de versões universal, tornando a instalação e gerenciamento das ferramentas mais simplificado. Toda as instruções para a instalação do asdf está presente no site oficial, no nosso caso utilizarei as instruções para git e terminal zsh, o padrão do Manjaro.
- Executar o seguinte comando:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.1
- Acrescentar a seguinte linha ao final do arquivo ~/.zshrc
. $HOME/.asdf/asdf.sh
- Para adicionar uma nova linguagem é necessário adicionar um plugin, no exemplo instalaremos o nodejs, mas o mesmo processo é análogo para outras linguagens (o processo pode variar ligeiramente, procurar por instruções para cada linguagem se necessário):
asdf plugin add nodejs
- Depois de instalado o plugin é possível instalar a uma versão da ferramenta em si, no exemplo instalaremos a versão lts utilizando um dos marcadores disponibilizados pelo asdf, mas é possível instalar qualquer versão disponível:
asdf install nodejs lts
- Depois de instalado é recomendável determinar a versão global e utilizar o reshim, para atualizar o path das linguagens gerenciadas pelo asdf:
asdf global nodejs lts
asdf reshim
Permitirá a utilização de contêineres.
yay -S docker
Editor de texto para programação.
snap install code
Cliente para testagem de APIs.
yay -S insomnia
Gerenciador gráfico para bancos de dados Mysql.
yay -S mysql-workbench