Executando verificação de segurança...
1

Controlando DOTFILES com GNU Stow e GNU Make

Hello, TabNews!

Devo me apresentar brevemente. Me chamo Leonardo. Estou começando a estudar programação e tenho experiência como usuário avançado de sistemas GNU/Linux — e espero que este conhecimento venha ser útil nos meus estudos.

Em seguida apresento os elementos do título do artigo sem enrolação.

DOTFILES

Comumente são arquivos de configurações do usuário de determinadas aplicações. Eles costumam ser nomeados com um “.” ( ponto = dot ) no início.

Exemplo:

~/.nvmrc
~/.gitignore
~/.env

GNU Stow

Quando você instala um programa, são gerados arquivos em diferentes localizações dependendo de seu sistema operacional. Considere o programa tabnews instalado em um Linux, os arquivos, como executáveis, dados de usuário e man pages podem ser encontrados em:

/usr/bin/tabnews
/usr/share/tabnews
/usr/man/tabnews

Fazer o controle e tracking de arquivos em locais distintos pode virar uma dor de cabeça — e o GNU Stow pode ser o remédio certo. Leia mais na documentação online.

GNU Make

O utilitário make tem o propósito básico de manter grupos de programas, por meio de regras ( rules ) declaradas seguindo uma estrutura padrão:

target ... : prerequisites ...
    recipe
    ...

Um rule é referenciada pelo arquivo alvo ( target ) que pode tanto ser apenas um nome simbólico de uma ação para cumprir — por exemplo, install, test, clean — ou um diretório real.

Os pré-requisitos ( prerequisites ) ou dependências podem ser arquivos, pastas ou outras rules — que serão chamadas previamente.

A receita ( recipe ) é composta de ações que o make pode executar no sistema. Leia mais em GNU Make.

Eu menti...

Sim, eu menti. Na verdade, são três as ferramentas que uso para gerenciar meus dotfiles, pois o git é tão importante quanto as outras. Ontem, 3 de maio de 2025, resolvi planejar quais ferramentas, das que conhecimento, vou usar para minha nova jornada de aprendizagem.

No mesmo dia, percebi que, no meu caso de uso, o make resolve o problema de praticidade que eu tinha; primeiro, interagir com o stow; segundo, instalar as aplicações que preciso enquanto documento e mantenho de maneira simples o meu sistema.

Veja no meu GitHub como ficou simples a integração:

Carregando publicação patrocinada...