These hardware suggestions are good- should work well for both tasks.
The only thing I'd suggest is to just bite the bullet and get 2x 2GB of RAM right out of the gate. The reason is, in my own experience I started off just like you, saying "I'm only going to use this PC for one or two things..." but then as you see it's actually a pretty decent workhorse, you'll find yourself putting it to use for things like ripping/recompressing media. If you really get into using it as an HTPC, you may eventually get a TV tuner and starting using it as a DVR, then wanting to squeeze recordings down to a portable file format. Then a few basic games... etc. etc...
Suddenly 2GB of RAM wil seem anemic for those added tasks, and you'll also be slapping your forehead if you use up all the RAM slots with 1GB sticks. So anyway, my advice is just go with 4GB in the form of 2x 2GB IE:
these, and you'll get more bang for the buck, better performance all around, and more future-proofing as you can eventually go up to 8GB.
This also brings up the choice of OS- if you do plan to use 4GB, I'd go with a 64-bit OS. 32-bit is fine, but it can't address more than 3GB of RAM. I use
Windows 7 x64 in my own HTPCs and I haven't had any problem with software-compatibility, which was a problem with XP and Vista. If you go with less than 4GB, stick with 32-bit Windows.
It's not true that Macs don't work well with SMB shares- I've been using samba and Windows SMB networking for years with Macs and it works fine. Setting up Linux as a file server, you'll likely use samba anyway. With Windows, it's merely a matter of turning on file sharing, setting the proper sharing permissions with any shared folder, and then accessing them via the Go/Connect to Server menu in OSX. Windows or Linux smb shares will show up as smb://sharename. To keep it simple, I always keep my main shares as aliases on the OSX desktop.
If you were just doing a straight NAS, I'd recommend Linux- just about any flavor will do the job, personally I prefer Mandriva as it was a breeze for me to set up and turn into a NAS server with smb shares to all other computers. ClearOS also works well if you just want click and install simplicity.
But since you also want an HTPC, I'd highly recommend Windows 7. The $99 Home Premium version includes Windows Media Center, which is IMO the best HTPC front end. There's also tons of other great HTPC software for windows: Beyond TV, XBMC, MeediOS, Boxee, GBPVR, etc. For a browser, try
Kylo, which is a Firefox offshoot made just for HDTVs.
Yes, Linux can run HTPC software like Myth, but setting it all up can be such an exercise in pulling your hair out, I wouldn't recommend it unless you're already a command-line guru. I know the Linux fanbois will swear otherwise, but I don't even like trying to use media apps in Linux. I've found virtually every variant to be flaky even doing simple tasks like playing DVDs or common media files. IMHO, the old adage is true: Linux is awesome for servers, but not quite ready for desktop use.
One more thing- for your build, I wouldn't go too crazy with fans. That hardware will not run very hot. My favorite fan layout is one 120mm fan (or as big as possible) in the front of the case pulling air in over the hard drives. Many cases will have a side door vent/cowl that exhausts the CPU heat. You don't have a graphic card, so no GPU fan. The PSU fan will vent air out the back- no other rear fan is needed with such a basic configuration.
These are my fave 120mm case fans, cheap and virtually dead silent. Plug the fan directly into the motherboard SYS FAN header; that Gigabyte board has one, which is really all it needs.