Select the color which matches the steps before filenames ((non-)login and (non-)interactive), then follow that arrow the rest of the way. There’s more colors in Bash because Bash makes a distinction between remote and local shells.
Another way to look at the same data for Zsh (note: $ZDOTDIR will be used instead of $HOME if it’s defined at any step along the way):
File
neither
interactive
login
both
/etc/zshenv
x
x
x
x
${ZDOTDIR:-$HOME}/.zshenv
x
x
x
x
${ZDOTDIR:-$HOME}/.zprofile
x
x
${ZDOTDIR:-$HOME}/.zshrc
x
x
${ZDOTDIR:-$HOME}/.zlogin
x
x
${ZDOTDIR:-$HOME}/.zlogout
x
x
One confusion on the Bash side of the diagram is that you see branching paths into ~/.profile, ~/.bash_profile and ~/.bash_login. Bash will use for