Um complemento à excelente resposta de jasonwryan, abordando alguns dos seus problemas:
-
Seu
$XDG_CONFIG_HOMEé não definido como~/. Simplesmente não está definido. Portanto, os aplicativos que seguem a especificação XDG usam o padrão~/.config -
As pastas dentro de
/.confignão estão ocultas porque não precisam. O objetivo de usar um~/.configdir é desorganizar o usuário$HOME. Como eles já estão em um diretório oculto e separado, não há necessidade de ficar escondido lá dentro. -
O software que não segue a especificação (infelizmente ainda a grande maioria) usa um diretório oculto para suas configurações (como
~/.myapp) como uma tentativa de não sobrecarregar o usuário$HOME. Funciona, mas ainda é uma má abordagem quando, por exemplo, você tenta fazer backup de suas configurações e de seus "big data" (como Imagens, Vídeos, Música) separadamente. Ter todas as configurações em um único local, sem misturar com os dados do usuário, é uma abordagem muito melhor -
Quanto a "ter nomes constantes independentemente de onde
XDG_CONFIG_HOMEaponta para" , eles já fazem: éappnamesem o ponto inicial. Lembre-se: os que usam$HOME/.appnamesão os que ignoram XDG Spec. Eles usam um caminho codificado. -
Quanto às suas aplicações, por favor use o padrão XDG ! Eu imploro, e seus usuários vão dizer obrigado por você não bagunçar mais a sua $ HOME.