For laminar and turbulent flow Versteeg and Malalasekera ( https://www.amazon.com/Introduction-Computational-Fluid-Dynamics-Finite/dp/0131274988 ) is a good reference. For free surface flow there are several methods ( https://www.flow3d.com/resources/cfd-101/general-cfd/free-surface-modeling-methods/ ). Your set of equations will depend on the method you choose.
Simple derivations are there. One may start with the basic equations for control volume; continuity and momentum (integral or differential forms). Energy equation is needed if heat exchange considered. You should have equations for boundary layer thicknesses, local shear stress, and Drag. This scenario could be found in the fluid mechanics textbooks.
Probably the best option will be check the Fluent manual, there you can find the complete formulation of the energy and Navier Stokes equation for laminar and turbulent flow