title: How should I structure my puppet configurations for shared environment resources (packages, configurations, etc) when using Puppet?
body: <p>So I'm setting up puppet for a project I'm working on and I wanted to know what the best way to share resources between environments is.  The problem is that I have a number of common packages that I want installed between a few different environments.</p>
  
  <p>I read up on puppets support for environments and it looked like all you can do is specify the module path and the manifest.  If that's the case, then what is even the point of environments?</p>
  
  <p>What I'm thinking about doing is just having a shared module path that has a module with the shared packages to install and then importing that into each environment's site manifest, but that just seems like a hacky way of doing it especially when modules are supposed to be stand alone.</p>
  
  <p>Is there a better way to implement this?  Am I missing something?</p>
  
  <p>Thanks.</p>