Zsh Configuration Files
Zsh has several system-wide and user-local configuration files.
System-wide configuration files are installation-dependent but are installed in /etc by default.
User-local configuration files have the same name as their global counterparts
but are prefixed with a dot (hidden). Zsh looks for these files in the path
stored in the
$ZDOTDIR environmental variable. However, if said variable is
not defined, Zsh will use the user's home directory.
The configuration files are read in the following order:
This file is sourced by all instances of Zsh, and thus, it should be kept as small as possible and should only define environment variables.
This file is similar to zlogin, but it is sourced before zshrc. It was added for KornShell fans. See the description of zlogin below for what it may contain.
zprofile and zlogin are not meant to be used concurrently but can be done so.
This file is sourced by interactive shells. It should define aliases, functions, shell options, and key bindings.
This is the main dotzsh configuration file.
This file is sourced by login shells after zshrc, and thus, it should contain commands that need to execute at login. It is usually used for messages such as fortune, msgs, or for the creation of files.
This is not the file to define aliases, functions, shell options, and key bindings. It should not change the shell environment.
This file is sourced by login shells during logout. It should be used for displaying messages and the deletion of files.
The authors of these files should be contacted via the issue tracker.