Nameserver via IP address?

I have a domain name registered through dreamhost that I would like to host on my own home computer. I have a static IP and I want to use virtual host so that I can route subdomains to different locations on that computer.

When I try to change the nameserver to my own IP address all I get are errors. Is there a way to do this?

How do I make sure that the requested domain name is past through to my server at home. Redirecting the domain to my ip address will access my computer but it will not allow me to use the VirtualHost option in apache.