Here’s something to keep in mind as you provision document libraries inside SharePoint. You can provision document libraries through both the web (site) and site (site collection) scoped features. The way you would do this is through use of the ListInstance element similar to the following:
<ListInstance
Id="Expenses" Title="Expenses" OnQuickLaunch="False" RootWebOnly="true"
FeatureId="00BFEA71-E717-4E80-AA17-D0C71B360101"
Description="Contains expense documents."
TemplateType="101" Url="Expenses">
</ListInstance>
Unfortunately, when provisioning document library instances from site collection features the icons appear to be missing. In the object model, which you can’t change after the fact, the ImageUrl property is empty. If you look at the “View all site content” link, you’ll see what I’m talking about.
This is just something to be aware of. It may not be a show-stopper, but it’s an inconvenience to your users. I’d recommend provisioning your lists as site features (at the Web scope). It may mean more features to manage, however.