Guidelines for packaging private software under development for deployments

I’m looking to use NixOS on the server that hosts various software under development. Currently it is debian-based and I ship .deb files using scp and run dpkg over ssh to install/update them.

I wonder, what is the suggest workflow for NixOS instead?
Should I define my own private channel and publish packages there?
Or maybe just a module on the server that fetches things from http?

Are there any guidelines/documentation for this? Everything I found is concerned about adding public packages, but what about private ones?