TL;DR: I released pp-ngnix on github to provide a declarative way for provisioning ngnix servers, locations and their directives.
I usually set up machines with the nginx package of jfryman (formerly from puppetlabs) or the module of example24.
First of all: I really respect all the hard work which has been put into those modules.
But they do not work for my use cases. I think the high amount of github forks (365 at the time of writing) shows, that the modules are not really usable without modifications. Like R.I. Pienaar noted in his blog: usage of params.pp for configuration forces your users to fork you module IF they want to modify it (happens to me always in production).
I did some code review to find out, what does not work for me with those modules. Here are my key problems, with those modules.