﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1455	XDG basedir support for csi config, egg cache and maybe more	Vasilij Schneidermann		"https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
https://blogs.msdn.microsoft.com/oldnewthing/20050701-09/?p=35133/
https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx

This is a specification that allows users to unclutter their home directory by keeping config files in (a customizable) directory and cache files in another one (also customizable).  An example implementation for Unix-likes (where it's safe to assume `HOME` is set) has been attached.  Windows has something (almost) comparable in form of the `APPDATA` (for user-specific configuration) and `LOCALAPPDATA` (for user-specific non-configuration, exists since Vista) environment variables.  In case `LOCALAPPDATA` isn't defined, `APPDATA` could be used instead.  I'm not 100% sure whether you can just use `get-environment-variable` on Windows and have it work, someone would need to test this.

With this we could (for both Windows and Unix-likes):

- Look up a user config/cache directory for the platform
- Check whether a config/cache file exists
- If yes, read it from that location, otherwise fall back to a default

The last one is optional and might make this a change request. Falling back to a default would preserve default behavior, ignoring it would introduce a change.  Possible candidates include `~/.csirc` (config), the egg cache (cache) and setup-defaults (config).

PS: Looking up `.csirc` on Windows probably never worked as it relies on resolving `HOME` which isn't set by default.  This would make it work again, albeit for a different location than previously documented."	change request	closed	minor	5.1	core tools	5.0.0	fixed			easy
