I am looking to setup a home server. I want it to run a whole bunch of things like a file server, music server, print server, web server, mail server and possibly some other uses like home automation. It will all be just for personal use, not enterprise; so mostly one user. I am wondering if it is a bad idea to run so many things on one? Should I split it up into more then one server, or have a separate nas for backup? Or will it all work fine together. I don't currently have the hardware, I am looking at getting something nice, so hardware shouldn't be much of an issue.
There is no reason why you shouldn't run it all on one server.
I have one machine which is:
And all with 3GB RAM and a 2GHz P4.
If you were running any of these services for resale to people as a business then splitting it down into multiple servers would be a must, but for your own personal use there should be no problems at all.
It is always good to have a separate system for backup, so an additional NAS is a good idea - if possible site it in a different room in the house.
As per @Matt's answer, but with a possible caveat:
If any of the services you want to run consume close to 100% CPU or are selfish in other ways (eg with Disk I/O) think about popping them on their own server so they don't block other services.
For example at home I have my media file server separated out on its own network, as it sometimes saturates its network and that could upset some of my other services.