Why does AccountsService keep locale configuration? And why in the path /var/lib/AccountsService/users/?

Why does AccountsService keep locale configuration? And why in the path /var/lib/AccountsService/users/? The locale configuration are in the end saved in environment variables. At startup, the values are loaded from the system-wide configuration file /etc/locale.conf. Wouldn’t it therefore be logical to load the user-specific locale configuration into ~/.config/locale.conf, ~/.locale.conf or ~/.enviroment? Traditionally, this is how it works, and bash and zsh loads their locale configuration from here. However, AccountsService and /var/lib/AccountsService/users/ is one new place to store locale configuration, which e.g. GNOME complies. There must be some purpose to this design decision that I don’t understand :frowning:

There are reasons why some user-specific metadata needs to be stored outside of the user’s home directory. E.g. the home directory may be encrypted and require the user’s password to mount. If you want to know the user’s locale so you can show them the password prompt translated into the right language, you cannot rely on the home directory being already mounted.