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.