How can I append a path to my PATH with home-manager for new shells using home.sessionPath without needing reboot?

Oh, that’s right! I guess when you think about it, I am not sure how your entire system would magically get the variable unless you re-logged in. Here is a good thread on the topic:

It seems like here they settled on setting it through their shell, which is more or less syntatic sugar for extraConfig/Init

So zsh/bash.sessionVariables is probably what you want here. These variables get set for every new shell.