1U server or HP microserver. Good connection (not typical US cable) with a static IP.
I'd probably use CentOS 6 (avoiding systemd) with full disk encryption, and either a RAID10 of some good-performing normal disks, or RAID1 of SSDs.
I'd put a backup MX on a VPS somewhere, preferably in a different location to act as a store-and-forward to my main MX. This one will need to have a copy of the user map to avoid the "accept any" backscatter problem backup MXes have.
Postfix as the mail server; Dovecot for IMAP. Make sure it uses Maildir for storage (unless you're going SQL) as mbox is a horrible format that needs to die. Use SpamAssassin, and reject any mail from IPs listed on Spamhaus.
Truthfully though, I use a server in a datacentre for a reason - because home connections just aren't reliable enough and the ISPs can't be trusted (I can make sure I only send mail over TLS, but not that other people will only send their inbound mail into my server over TLS), and I wouldn't trust a consumer ISP not to suddenly try some kind of fuckery like blocking SMTP ports. Linode would get my recommendation, they are great value, have good performance for a cheapish VPS, and great uptime.