Yes, if you want to deploy the config and mapping files then that is a strategy you can follow. I was under the impression that you didnt want to deploy the files. I usually will embed the mapping files but not the config file. Its better to be able to tweak it on the fly.
Either way, I personnally do not like having to add all of my mapping files into the NH config. It becomes a maintenance headache. You have to make sure all of mapping files are set as embedded resources so that they get included in the assembly. Section 3.1 in the doucmentation discusses this technique.
Here is a technique for loading the assembly with the mapping files and the config file if they are all in one assembly
Code:
//create a new configuration
NH.Configuration factoryConfiguration = new NH.Configuration();
//load up the assembly that contains the mappings files
AssemblyName libraryName = new AssemblyName();
libraryName.Name = "someAssemblyName";
Assembly configurationAssembly = Assembly.Load(libraryName);
//configure the configuration with the specified configuration assembly
factoryConfiguration.Configure(configurationAssembly, "configurationResourceName");
Of course, you can avoid all this and use Castle's NHibernate Integration facitlity. This is the easiest and my most preffered approach.