Buy yourdomain.com
from a domain reseller. Make sure they allow you to setup the DNS of the domain from their control panel. Many resellers offer the DNS with the domain and allow you to change it using a simple control panel.
After you bought the domain, enter the control panel for the DNS and set up these records:
yourdomain.com | A | your.static.IP
www.yourdomain.com | A | your.static.IP
mail.yourdomain.com | A | your.static.IP (this last record only if you set up also a mail server on your computer)
Obviously replace your.static.IP
with the real static IP XXX.XXX.XXX.XXX of your home computer.
Then you are all set up. Now you need only to keep your computer running, otherwise people won't be able to see your site.
Anyway for a production site I highly discourage this approach, and considering the cheap price of webhosting I would rather buy a Linux webhosting plan with cPanel on it (i.e http://www.qualityhostonline.com) and place your website there. It's also an opportunity for you to learn cPanel, while setting up the website on your PC you would learn useless stuff because nobody will ever want a site to be hosted there for real.