The biggest thing with an office server is availability and redundancy, and you wish to use high quality components to ensure you are getting the highest reliability. Given the need for high quality and redundant capable hardware alone, you might be able to get a entry-level server built for about $1,000.
However, you have quite a lit of virtual machines and additional needs that your server needs to accommodate than a basic file server. Tasks such as running a domain controller within a virtual machine on Hyper-V plus an additional virtual machine for security filtering/firewall, plus a few others for remote desktop sessions for end users, and this is starting to need quite a bit of computational horsepower, more so than you can get in a server for $1,000.
Yes, building your own may be a great way to save a little extra money, but it also comes with a lot of additional work in ensuring everything is compatible, everything is tested, everything is configured perfectly, etc. I built custom servers myself for a few customers, but recently due to the additional risk involved and work involved, for servers I tend to go with a ProLiant from HP. They are a little more expensive than a custom system, but the best thing to do is get the base system you need (processor, power supply, RAID controller, etc.) and then add in your own upgrades such as hard drives and additional memory to save some money.
For a server to fill all the needs you are looking at, I would recommend something with at least 24 GB of memory to be allocated out to your individual machines. Remember that with Windows Server 2008 R2 running Hyper-V you have to have enough memory to run that host OS as well as dedicating out enough to efficiently run all your VMs. Personally for me that means a minimum of 4 GB of RAM dedicated for each VM as well as 4 GB of RAM for the host Windows OS.
Because you've got several VMs in use as well, including remote desktop sessions that will be used concurrently with server environments, I would recommend looking into a nice dedicated RAID controller with onboard cache and SAS 6 Gb/s hard drives for the best performance. Going with regular SATA hard drives might get you by, but you will noticed the difference in performance. Hard drive prices are still high, especially on enterprise drives, but much better than they were. I ended up buying "new bulk" HP SAS drives from eBay with full 1 year warranty for less than half of what the same drives listed for on other popular sites including Newegg, and they even included the HP drive bay trays which alone can be hard to track down.
Are you specifically wanting to use a linux virtual machine for certain reasons to use as a firewall for your network? Unless there is a personal preference or specific reason for using a virtual machine, it may be easier and cheaper to instead consider a dedicated hardware appliance, such as the SonicWall TZ 100 or TZ 200. The benefit there as well is it can also work as your network router and control the site-to-site VPN tunnel between your two locations.
Without even figuring in software costs, I would recommend budgeting at least $3,000 for the server you described. Again, 24 GB of RAM at least, with a hyper-threaded quad core processor. A RAID controller with 512 MB of onboard memory, and redundant 500 watt or greater power supplies. I don't know what you have for storage needs, but creating a storage array of SAS hard drives is going to be your biggest chunk of cash really.
I'm really not a server expert by any means, but I've built various systems for small offices to use for file servers, domain controllers, and host a couple virtual machines using Hyper-V. Just going from my experience with these systems so far, I just don't believe it's going to be possible to run all the tasks you are looking for all on one server for $1,000 unfortunately.