docs: def get_configdir(name):
      """
      Return the string representing the configuration directory.
  
      The directory is chosen as follows:
  
      1. If the ``name.upper() + CONFIGDIR`` environment variable is supplied,
         choose that.
  
      2a. On Linux, choose `$HOME/.config`.
  
      2b. On other platforms, choose `$HOME/.matplotlib`.
  
      3. If the chosen directory exists, use that as the
         configuration directory.
      4. A directory: return None.
  
      Notes
      -----
      This function is taken from the matplotlib [1] module
  
      References
      ----------
      [1]: http://matplotlib.org/api/"""
      configdir = os.environ.get('%sCONFIGDIR' % name.upper())
      if configdir is not None:
          return os.path.abspath(configdir)
  
      p = None
      h = _get_home()
      if ((sys.platform.startswith('linux') or
           sys.platform.startswith('darwin')) and h is not None):
          p = os.path.join(h, '.config/' + name)
      elif h is not None:
          p = os.path.join(h, '.' + name)
  
      if not os.path.exists(p):
          os.makedirs(p)
      return p