This is really just for my own reference, as ZSH loads its config in its own order and I can never seem to remember it. The global files (which shouldn't really be tampered with by users) will be mentioned and put into larger font than the user files. However, I won't be expounding upon them, as that is outside the purpose of this writing.
Here there be environmental variables.
Place here anything I'm going to
export so that it can be referenced later.
Good candidates include
XDG_* and changes to program defaults.
Set up your $PATH & $PAGER & etc etc etc.
Quality of life:
Any commands you want happening on every login.
Start daemons, set a new MOTD, start a SSH tunnel.
The possibilities are endless.
Used for shell options and various commands.
There should be a loooong list of
unsetopt going on here.
Shell modules and the ZSH prompt go here, as well as history config.
Source your scripts and set your aliases.
Almost same purpose as
.zprofile but you know, not really different. Use only one or the other if you're flying by the book.
Can be used to execute commands when a shell exits.
Good time to clean up caches or tmp files/folders.
Logout of sessions, set the environment back to how you like it when you login.
Send an email to yourself of temp logs and an email to your mom telling her you love her.