Fedora Silverblue installation does not have XDG_*_HOME environment variables

I’m unsure whether this is an actual bug, or a feature, or whether I’m doing something wrong.
I noticed that on a fresh silverblue installation, my account lacks the following environment variables being set (they don’t show up in env | grep XDG_):

  • XDG_CONFIG_HOME
  • XDG_DATA_HOME
  • XDG_CACHE_HOME

As a result, applications are storing their data at unexpected locations (different from another non-atomic Fedora installation), e.g. ~/.local/state.

I’m not sure which application should set these parameters, and when.

PS: I’m not entirely sure that this problem is caused by Fedora atomic, as I haven’t installed a Fedora 43 (non-atomic) from scratch in a while either.

FWIW, those environment variables are not available on Fedora Workstation either, so it’s not Silverblue specific.

1 Like

According to XDG Base Directory Specification: if $XDG_{CACHE,CONFIG,DATA,STATE}_HOME are not defined then their defaults are in effect. ~/.local/state is the default for $XDG_STATE_HOME.

Thanks for your input! I misunderstood an unrelated problem and incorrectly assumed it was caused by missing environment variables.