XDG Base Directory support, for locating caches, configuration, etc
Get configuration using ZEROINSTALL_PORTABLE_BASE (if set), or the platform default, modified by any XDG_* variables which are set.
ZEROINSTALL_PORTABLE_BASE
XDG_*
load_first system relpath search_path returns the first configuration path (base +/ relpath) that exists from the base paths in search_path.
load_first system relpath search_path
search_path
save_path system relpath search_path creates the directory List.hd search_path +/ relpath (and any missing parents) and returns its path.
save_path system relpath search_path
List.hd search_path +/ relpath
Get the home directory (normally $HOME). If we're running as root and $HOME isn't owned by root (e.g. under sudo) then return root's real home directory instead.
$HOME