This is my personal take on porting the neo2 layout to support both a ergodox (infinity) and a planck keyboard. Some sacrifices needed to be made, hence this layout is not-quite-neo.
My use case is simple:
Therefore, I put all reusable code in the users/not-quite-neo directory and created a custom not-quite-neo keymap for the planck and the ergodox infinity keyboard respectively.
Mind, since neo2 is a SW driver supported layout it offers a lot of features that are hard to support in hardware (especially the fancy utf stuff with math symbols and greek letters etc.).
Right now this implementation only incompletely supports neo2 layers 1 to 4.
The biggest difference is probably the support for the German Umlauts ä, ö, ü and the ß. Since we rely on a smaller number of keys some glyphs needed to be created otherwise. See the implementation in nqn-basic-layout.h for details.
You can find the not-quite-neo keymap for the ergodox infinity under qmk_firmware/keyboards/ergodox_infinity/keymaps/not-quite-neo/. Respectively the keymap for the planck resides in qmk_firmware/keyboards/planck/keymaps/not-quite-neo/ .