I do not think zsh has a 'config' file that it uses. Some other utilities might, but shells tend to use .mumble files.
man zsh
gives you a list of the different zsh initialization files
$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
${TMPPREFIX}* (default is /tmp/zsh*)
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin
/etc/zlogout (installation-specific - /etc is the default)
By default $ZDOTDIR is your home folder, also referenced as $HOME
STARTUP/SHUTDOWN FILES
Commands are first read from /etc/zshenv; this cannot be overridden. Subsequent behaviour
is modified by the RCS and GLOBAL_RCS options; the former affects all startup files, while
the second only affects global startup files (those shown here with an path starting with a
/). If one of the options is unset at any point, any subsequent startup file(s) of the cor‐
responding type will not be read. It is also possible for a file in $ZDOTDIR to re-enable
GLOBAL_RCS. Both RCS and GLOBAL_RCS are set by default.
>> Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login shell, commands are
>> read from /etc/zprofile and then $ZDOTDIR/.zprofile. Then, if the shell is interactive,
>> commands are read from /etc/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell is a
>> login shell, /etc/zlogin and $ZDOTDIR/.zlogin are read.
When a login shell exits, the files $ZDOTDIR/.zlogout and then /etc/zlogout are read. This
happens with either an explicit exit via the exit or logout commands, or an implicit exit by
reading end-of-file from the terminal. However, if the shell terminates due to exec'ing
another process, the logout files are not read. These are also affected by the RCS and
GLOBAL_RCS options. Note also that the RCS option affects the saving of history files, i.e.
if RCS is unset when the shell exits, no history file will be saved.
If ZDOTDIR is unset, HOME is used instead. Files listed above as being in /etc may be in
another directory, depending on the installation.
As /etc/zshenv is run for all instances of zsh, it is important that it be kept as small as
possible. In particular, it is a good idea to put code that does not need to be run for
every single shell behind a test of the form `if [[ -o rcs ]]; then ...' so that it will not
be executed when zsh is invoked with the `-f' option.
Any of these files may be pre-compiled with the zcompile builtin command (see zsh‐
builtins(1)). If a compiled file exists (named for the original file plus the .zwc exten‐
sion) and it is newer than the original file, the compiled file will be used instead.
Unix traditions would have you create a folder
/Users/grigoryzubkis/bin
Add that to your PATH
export PATH="$PATH:/Users/grigoryzubkis/bin"
and put all your scripts into your personal bin directory.
This is just tradition, it is not a rule, it is not absolute, and you can do anything you please.
Just putting an export command into your .zshrc file does not cause it to be invoked. You have to generally either exit from your Terminal session and start a new one, or issue the command
source $HOME/.zshrc
to get zsh to re-read your .zshrc file.
Or you can manually execute the export command from a zsh shell prompt.
The .zshrc file is so that when you start a New Terminal session, zsh gets all your settings in your various shell initialization files.
It is also not a good idea to be changing the /etc/ versions of the shell initialization files. For example, is you use Migration Assistant to move from an older Mac to a newer Mac, your home folder can be transferred, but the /etc/ directory is not, so you would loose them.
The /etc/ versions of shell initialization files are more for a corporate environment where the company need for you to have some common settings (most common environment variables) so that you can properly work in the corporate environment. As a personal user, you do not have that situation.