I just set up zsh
together with oh-my-zsh
. But there's a bit of strange behavior that I cannot understand. If I restart Terminal (or iTerm 2––the behavior is the same in either) the theme specified in ~/.zshrc
is not loaded. I need to do source ~/.zshrc
for it to happen. If I echo $ZSH_THEME
I get the theme I specified in ~/.zshrc
. (And if I add echo "I'm loading it."
to the bottom of ~/.zshrc
, for example, I get the expected message upon opening a new window, etc.)
This question is very similar to mine. But none of the suggestions there appear relevant: the problem there was that some bits of ~/.zshrc
were not being loaded, whereas in my case it seems they are being 'read' but not 'loaded' if that's a thing.
In case this is relevant: I do not have any files named .zprofile
or .profile
in my home directory.
Another bit of relevant information. If I change the value of ZSH_THEME
in my .zshrc
file, I need to source it twice in order to activate the new theme.
Posting here in case it helps others. The problem was that I was loading the theme after source $ZSH/oh-my-zsh.sh
, so clearly oh-my-zsh
wasn't loading it. (The instructions in the .zshrc
template generated by oh-my-zsh
are a little confusing. On a quick read they suggest that themes should be loaded below the User configuration
line.)