Missing path variable? KICAD_DOCUMENTS_HOME

The KiCad6 manual states that KICAD_DOCUMENTS_HOME points to the user directory BUT KiCad6 fails to do that for me. Weirdly I also don’t see KICAD_DOCUMENTS_HOME defined within the KiCad6 paths configuration dialog, however eelik states in another post that KiCad6 does indeed contain this.

When I try to set my symbol library path to the following then it works fine:
But when I try to use the path variable like this then it barfs every time:
So I did the following and it worked but it is really really goofy!

Do I need to file a bug report against KiCad for failing to set the Env variable?
The documentation is obviously correct because of common sense and because eelik says so.
Requesting help with this, thanks =)

KICAD_DOCUMENTS_HOME isn’t really an environment variable in the sense of the other environment variables that you can use in KiCad, like $KIPROJMOD or $KICAD6_3RD_PARTY. You can’t use it in path substitutions, it’s just an internal variable that KiCad uses as the default user documents location. However you can set your own default location for KiCad to use by setting a KICAD_DOCUMENTS_HOME variable externally.

It’s expected that this variable doesn’t show up in the Paths Configuration dialog.

The documentation sort of explains this, but doesn’t make the first part clear (you can’t use this as a path substitution variable):

Some advanced environment variables can be set to customize KiCad’s behavior. These variables are not shown in the environment variable configuration. They cannot be modified in the Configure Paths dialog, but they can be overridden by system environment variables.

I’ll update the doc to make the first part clearer.

As for your usecase, I would just define a new variable in KiCad that points where you want to put your libraries. $KICAD6_USER_LIB_DIR or something like that.

Hey thanks for the great details! Since you will be updating the docs, I’d like to suggest that the concept is actually very useful and that it could be helpful to actually define the variable but to furthermore provide empty global footprint and symbol user-defined libraries. After all, the folders already exist by default even though they are empty. Cheers.