I am trying to figure out the correct way to do my pipeline. Am I supposed to zip my code in Jenkins with maybe the File Operation plugin and then upload it to my private Nexus repository? I don't send all kinds of files to Nexus and do something there do I?
If you are building these artifacts for a release/deploy, you will want them to be in as ready to release of a package as possible. If that is as a .zip, then yes you should create the .zip on the Jenkins server, then upload to Nexus. Your deploy system will then download, decompress, and manipulate the artifact as seen fit. In general, I would only use the node running Nexus to store artifacts and not execute any "build-like" processes. That is exactly what Jenkins was made for.