i usually just order my carpet from bass pro. I use contact cement to lay it down, since it dries in just a few minutes.
be careful and slowly pull up all the old carpet without tearing it apart, and you have an exact template to cut the new out. same with compartments, go slow, dont rip, and its fairly easy.