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
/.config
não estão ocultas porque não precisam. O objetivo de usar um~/.config
dir é 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_HOME
aponta para" , eles já fazem: éappname
sem o ponto inicial. Lembre-se: os que usam$HOME/.appname
sã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.