The XDG Base Directory Specification is based on the following concepts:
            There is a single base directory relative to which user-specific
            data files should be written. This directory is defined by the
            environment variable $XDG_DATA_HOME.
          
            There is a single base directory relative to which user-specific
            configuration files should be written. This directory is defined by the
            environment variable $XDG_CONFIG_HOME.
          
            There is a set of preference ordered base directories relative to
            which data files should be searched.  This set of directories is defined
            by the environment variable $XDG_DATA_DIRS.
          
            There is a set of preference ordered base directories relative to
            which configuration files should be searched.  
            This set of directories is defined
            by the environment variable $XDG_CONFIG_DIRS.
          
            There is a single base directory relative to which user-specific
            non-essential (cached) data should be written. 
            This directory is defined by the
            environment variable $XDG_CACHE_HOME.