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.
Instalaçã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.
    Configurando o Git
    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.
    Modificações de aparência
    Tema do sistema
    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.
  • Tema do terminal
    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
    Tema Spaceship para o Zsh
  • 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
    Plugins Zsh
    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.
  • Gnome Terminal
    É 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.
    Guake
    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.

  • Ambiente de desenvolvimento
    yay
    Para ter acesso ao AUR pelo terminal será preciso instalar o utilitário yay:
    sudo pacman -S yays
    base-devel
    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.
    ASDF
    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
    Docker
    Permitirá a utilização de contêineres.
    yay -S docker
    VS Code
    Editor de texto para programação.
    snap install code
    Insomnia
    Cliente para testagem de APIs.
    yay -S insomnia
    Mysql Workbench
    Gerenciador gráfico para bancos de dados Mysql.
    yay -S mysql-workbench

    31

    This website collects cookies to deliver better user experience

    Minha instalação do Manjaro para programação