One of my frustrations using LyX (and there are very few!) is finding an elegant way to easily mix layouts. I may simply be ignorant of how to do it correctly.
Here's an example. As a long time (La)TeX user I've developed my own set of handy environments that I use in addition to the standard ones. I simply \input{macros}, and I'm off. I'd like that same functionality in LyX, but with the ability to use those environments without resorting to ERT. The way I've been doing this so far, and it's really a kludge, is to create a local layout (in ~/.lyx/layouts) called "stdlists.inc". I create a symbolic link to the real stdlists.inc ones and call it "dist-stdlists.inc". My stdlists.inc contains my environments, and Includes dist-stdlists.inc. That way my environments are available in all layouts (assuming I use layouts which include stdlists.inc), and the symbolic link ensures that I'm never out of sync with the real stdlists.inc. This makes my life easier, but makes it almost impossible to work collaboratively on a document, as all of my the collaborators would have to perform this "behind the scenes" configuration. This is just not practical. I could create a layout specifically for each document that I need to share, but that's nuts! I couldn't recommend this approach to my colleagues who are just starting out with LyX either. It really really steepens the learning curve. I think that a practical solution would be to allow the user to interactively select multiple layouts. LyX would essentially build a wrapper layout file which would include them. That way one could create a library of "sub"-layouts which could be used interchangeably with very little effort. Thanks, Diab