Versionando .dotfiles

Por que versionar dotfiles?

development
dotfilesshellterminallinuxmacos
Versionando .dotfiles

ūüí° tl/dr; Voc√™ pode configurar um novo sistema usando dotfiles e um script de instala√ß√£o em minutos. Esse post explica um pouco sobre dotfiles e aos poucos iremos construir um reposit√≥rio

Dotfiles são arquivos de configuração normalmente armazenados no diretório inicial de um usuário (o diretório representado pelo símbolo ~ em sistemas operacionais baseados em Unix) e que começam com um ponto (.) em seu nome de arquivo.

Esses arquivos s√£o usados para armazenar configura√ß√Ķes para os v√°rios programas e ferramentas que um usu√°rio pode usar em seu sistema. Arquivos como .bashrc, .zshrc, .vimrc e .gitconfig s√£o exemplos (apenas para citar alguns) que praticamente todo usu√°rio tem em sua m√°quina.

Faça um teste na sua máquina e execute o seguinte comando para visualizar apenas alguns dos dotfiles que estão no diretório do seu usuário.

find ~ -type f -iname ".*" -maxdepth 1

Por exemplo, o arquivo .bashrc √© um arquivo de configura√ß√£o para o shell Bash (uma interface de linha de comando popular para sistemas do tipo Unix). Ele pode conter configura√ß√Ķes como o prompt exibido quando o shell √© aberto, aliases (ou atalhos) para comandos usados com frequ√™ncia e fun√ß√Ķes personalizadas. Outro exemplo √© o arquivo .vimrc √© um arquivo de configura√ß√£o para o editor de texto Vim e pode conter configura√ß√Ķes como o esquema de cores a ser usado, o formato da linha e atalhos de teclado personalizados.

Nesse post, falaremos um pouco sobre como come√ßar o seu versionamento de dotfiles, o que versionar, as boas pr√°ticas, quest√Ķes de seguran√ßa e compartilharei com voc√™s a minha pr√≥pria vers√£o de dotfiles

Por que isso é importante?

Muitos usu√°rios optam por gerenciar seus dotfiles usando sistemas de controle de vers√£o, como o Git, para que possam acompanhar as altera√ß√Ķes em suas configura√ß√Ķes ao longo do tempo e sincronizar facilmente suas configura√ß√Ķes ao iniciar um novo ambiente de desenvolvimento em uma nova m√°quina.

Imagine que sua m√°quina de desenvolvimento, seja ela usada para estudos ou para trabalho, apresenta um problema que lhe impede de continuar usando o sistema. Independente do motivo, ‚Äúconsertar‚ÄĚ esse problema geralmente envolve uma nova instala√ß√£o de SO e todo o trabalho para reconfigurar um ambiente de desenvolvimento a partir do zero. Essa nova instala√ß√£o certamente ter√° uma infinidade de detalhes que voc√™ geralmente configura aos poucos, ao longo do seu tempo de uso, coisas como cor do seu terminal, fonte do seu editor de texto, etc.

O objetivo de versionar os seus dotfiles √© ganhar tempo com esse processo e manter um ambiente de desenvolvimento com suas mudan√ßas ao longo do tempo, podendo retornar a configura√ß√Ķes antigas caso algo d√™ errado durante uma altera√ß√£o ou simplesmente haja a necessidade de reconfigurar o ambiente em uma instala√ß√£o limpa do seu SO.