31
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:
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.
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.
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:
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
cd ~/.oh-my-zsh/themes
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
ZSH_THEME="spaceship"
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
É 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.
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
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.
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.1
. $HOME/.asdf/asdf.sh
asdf plugin add nodejs
asdf install nodejs lts
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