<rycee>
hpfr: Don't remember precisely but I believe `.bash_profile` is used to make interactive login and non-login shells act a bit similar, i.e., make the login shell source `.bashrc`.
<rycee>
The `home.sessionVariable` values are installed as a file in the user profile mainly to allow easy access from various places. In particular, if a user doesn't want to manage their shell through HM. They then have to source this file themselves.
<rycee>
In principle HM could put it somewhere in their home directory but I figure the profile is the cleanest place for it.
<rycee>
For the `programs.bash.sessionVariables` option, these values are written to `~/.profile` since it's pretty convenient. It would be possible to put these in the nix store as well and reference from `.bash_profile` (and `.xprofile`).
<rycee>
Actually that seems like a nice idea, may look into doing that at some point :-)