This is interesting:
To those of you reading this: I beg you. Avoid creating files or directories of any kind in your user’s
$HOMEdirectory in order to store your configuration or data. This practice is bizarre at best and it is time to end it. I am sorry to say that many (if not most) programs are guilty of doing this while there are significantly better places that can be used for storing per-user program data.
The post describes a solution.
As an example if you were to store configuration files you should use
$XDG_CONFIG_HOME/your-programas your base configuraion directory instead of just storing your files directly in
$XDG_CONFIG_HOME. Remember to never hardcode the directories to the default values defined by the standard. Read the environment variable first to allow the user to move those directories if needed.