1- split default-source-registry into two parts:
default-user-source-registry, after user-source-registry and user-source-registry-directory,
and default-system-source-registry, after system-source-registry and system-source-registry-directory.
2- all user stuff go into default-user-source-registry, which seems to be everthing currently in default-source-registry, with exceptions below: XDG_DATA_HOME is for the user, but XDG_DATA_DIRS is for the system. local-appdata and appdata are for the user, but common-appdata is for the system.
3- then comes the issue of upgrade. defparameter* needs be enriched with some optional version thing, and only overwrite the previous value if upgrading from too old a version, which if not necessary older than *oldest-forward-compatible-asdf-version* (but defaulting to it). Instead of using a hook on *post-upgrade-cleanup-hook*, it should probably compare to the version, and overwrite if (version< actual-version-upgraded-from oldest-forward-compatible-asdf-version-for-this-variable).
Actually, what I would do is:
1- split default- source- registry into two parts: user-source- registry, after user-source- registry and user-source- registry- directory, system- source- registry, after system- source- registry and system- source- registry- directory.
default-
and default-
2- all user stuff go into default- user-source- registry, which seems to be everthing currently in default- source- registry, with exceptions below: XDG_DATA_HOME is for the user, but XDG_DATA_DIRS is for the system. local-appdata and appdata are for the user, but common-appdata is for the system.
3- then comes the issue of upgrade. defparameter* needs be enriched with some optional version thing, and only overwrite the previous value if upgrading from too old a version, which if not necessary older than *oldest- forward- compatible- asdf-version* (but defaulting to it). Instead of using a hook on *post-upgrade- cleanup- hook*, it should probably compare to the version, and overwrite if (version< actual- version- upgraded- from oldest- forward- compatible- asdf-version- for-this- variable) .