Essa é uma revisão anterior do documento!
Tabela de conteúdos
GNU Stow
A partir da documentação, com o comando man stow, podemos verificar que ele foi criado para auxiliar que pacotes compilados da fonte pudesse ter seus binários linkados para os diretórios padrão, permitindo assim uma maior flexibilidade sobre qual versão poderíamos usar no sistema, isto é, o ususário compila em seu diretório pessoal e faz os links simbólicos dentro dos diretórios padrão, por exemplo, /usr/local/bin/emacs será um link para o binário emacs dentro de um diretório que possue o emacs compilado direto da fonte.
Hoje os gerenciadores de pacote modernos já constroem os links e muitos como o Nix e o Guix conseguem gerenciar versões distintas do mesmo pacote de uma forma até simples, então o que resta de funcionalidade para o stow?
Instalação
Em sistemas tipo Debian, apenas faça
sudo apt install stow
Uso básico
Vou usar como exemplo duas configurações básicas, uma que geralmente está em todos os diretórios pessoais logo na raiz, o arquivo .bashrc, e outra está escrita dentro da pasta .config/qutebrowser, para ilustrar arquivos de configurações de aplicativos que deixam suas configurações dentro do diretório .config.
Primeiramente vamos organizar nossos dotfiles dentro de um diretório para esse propósito, posteriormente podemos usar o git para gerenciar o versionamento desses arquivos e subir os mesmos para um serviço como o github ou o codeberg, assim teremos nossas configurações sempre salvas há um comando de distância para termos todas as configurações de volta. Crie um diretório dos dotfiles, por exemplo
$ mkdir ~/dotfiles
Agora queremos que nossa primeira configuração seja do bash então
$ cd dotfiles $ mkdir bash
e adicionamos o arquivo .bashrc dentro desse diretório, de preferência já com as personalizações que você fez ao longo do uso de seu sistema e deseja armazená-las.
Para adicionar esse arquivo basta dentro do diretório dotfiles usar o stow
$ stow -t /home/username bash
Agora pode verificar que seu arquivo ~/.bashrc é um link simbólico para o arquvo armazenado em ~/dotfiles