Migrando de GNU Stow para Chezmoi

Chezmoi vs GNU Stow e Abordagens Simples com Symlinks

  • Vários utilizadores relatam terem desistido do Stow várias vezes, mas terem “ficado” com o Chezmoi, citando uma melhor experiência de utilização em torno de cópia/sincronização e templating, apesar de algumas arestas e do excesso de funcionalidades.
  • Outros consideram o Stow adequado para /usr/local ou software compilado, mas um remendo para dotfiles. Alguns mudaram do Chezmoi de volta para o Stow ou para symlinks simples + scripts, achando o fluxo de trabalho do Chezmoi (chezmoi edit, passos de merge) irritante.
  • O templating e a nomenclatura de ficheiros no Chezmoi não “fazem clique” para toda a gente; alguns não gostam de que templates possam quebrar o realce normal do editor, embora existam plugins para editores.
  • O Chezmoi é elogiado por: gestão de permissões, templating entre sistemas operativos, .chezmoiignore, e especialmente a integração profunda com gestores de segredos (1Password, Bitwarden, pass, etc.).

Nix, Home Manager e Guix

  • Um grupo forte defende que Nix + Home Manager é a abordagem mais completa e reproduzível para “configuração do sistema e do utilizador”, não apenas dotfiles. Os benefícios citados incluem shells temporários de desenvolvimento, ambientes reproduzíveis, menos ferramentas ad hoc, empacotamento de software personalizado e até a configuração de máquinas inteiras com NixOS.
  • Outros consideram a documentação do Nix fragmentada e desatualizada, e dizem que a complexidade aparece quando se sai dos casos comuns. Alguns mencionam pacotes do Nix com bugs ou abandonados.
  • Vários descrevem o uso de ferramentas de IA para gerar configs do Nix, afirmando que isso remove grande parte da dor de aprendizagem.
  • Os críticos observam: o Nix não funciona no Windows, parece demasiado complicado apenas para dotfiles, e perde grande parte do seu valor se não puder controlar todo o ambiente (por exemplo, em configurações corporativas de macOS).
  • O Guix é mencionado como semelhante, mas limitado pela falta de suporte para macOS.

Outras Estratégias e Ferramentas para Dotfiles

  • Alternativas populares: yadm (centrado em Git, abstração mínima), rcm, Janus (mais leve, semelhante ao Chezmoi), funcionalidades de bootstrap do mise, Ansible, Makefiles simples e scripts shell feitos à medida.
  • Muitos utilizadores preferem “repo Git + symlinks + pequeno script”, valorizando transparência, portabilidade e zero dependências externas. Alguns fazem sincronização contínua (por exemplo, com Syncthing) ou usam rsync para diretórios home inteiros com convenções sobre qual lado é autoritativo.
  • As opiniões sobre symlinks dividem-se: alguns não gostam de as edições irem diretamente para o repositório e causarem conflitos entre máquinas; outros veem isso como uma vantagem, com o Git a mostrar as alterações diretamente.
  • Lidar com variações por máquina/por sistema operativo é um ponto de dor importante: isso é tratado com branches, diretórios específicos por host, lógica condicional em shell, ou templating (Chezmoi, Nix, ou ferramentas personalizadas).