using .zshrc to modify my environment variables
Essa é a causa raiz do seu problema. .zshrc é um arquivo de inicialização para sessões de shell interativas. Use-o para definir configurações de shell, não para definir variáveis de ambiente. Variáveis de ambiente geralmente são definidas em um arquivo de sessão, como .profile . Veja Alternativa para .bashrc (o que vale para .bashrc também vale para .zshrc ).
Se zsh for seu shell de login, ele não lerá ~/.profile , mas lerá ~/.zprofile . Note que o zsh não precisa ser seu shell de login, mesmo que seja seu shell interativo: você pode usar /bin/sh como seu shell de login e definir SHELL=$(command -v zsh) em seu ambiente para que os emuladores de terminal e similares executem o zsh. Como você diz que definir suas variáveis de ambiente em ~/.zprofile não funcionou, provavelmente é assim que seu sistema já está configurado, mas é difícil dizer sem informações mais precisas que “não funcionaram”.
Se o seu shell de login é zsh, coloque a seguinte linha no seu ~/.zprofile para ler .profile :
emulate ksh -c '. ~/.profile'
Geralmente, você pode usar um . ~/.profile simples, porque é improvável que as incompatibilidades entre shells do estilo zsh e Bourne surjam em .profile .