Improvement: Follow XDG config spec

An old issus was closed regarding XDG: #139 - but that was 7 years ago now. Since then the XDG spec have become much more predominant. Many common tools follow it.

This issue is created to re-evaluate where pyenv is installed by default, using the XDG config and data dirs as appropriate. This gives a cleaner home directory for users, and users will also know that files placed in $XDG_CONFIG_HOME or the default $HOME/.config, are files that I as a user can manually update. And then also sync via dotfiles between machines, if wanted.

Prerequisite

  • [ x] Make sure your problem is not listed in the common build problems.
  • [ x] Make sure no duplicated issue has already been reported in the pyenv issues. You should look for closed issues, too.
  • [x ] Make sure you are not asking us to help solving your specific issue.
    • GitHub issues is opened mainly for development purposes. If you want to ask someone to help solving your problem, go to some community site like Gitter, StackOverflow, etc.
  • [x ] Make sure your problem is not derived from packaging (e.g. Homebrew).
    • Please refer to the package documentation for the installation issues, etc.
  • [x ] Make sure your problem is not derived from plugins.
    • This repository is maintaining pyenv and the default python-build plugin only. Please refrain from reporting issues of other plugins here.

Description

  • [ x] Platform information (e.g. Ubuntu Linux 16.04): Ubuntu 20.04
  • [ x] OS architecture (e.g. amd64): amd64
  • [ x] pyenv version: 1.2.22
  • [ x] Python version: 3.8.7
  • [ x] C Compiler information (e.g. gcc 7.3): 9.3
  • Please attach verbose build log as gist
    • You can turn on verbose debug logging using by setting PYENV_DEBUG=1, e.g. env PYENV_DEBUG=1 pyenv install -v 3.6.4