I think the most difficult thing was in understanding the roles the various components have. "Completion" means something in Emacs that might not mean what you expect it to mean (but you probably expect that from Emacs anyway). Many tools/packages cover more than one part of the overall solution. Maybe I should write something up to demystify it for others wanting to go down the same path. In the end it took me an evening or two to get it all working.
Professor Mike says that copy/paste of the example config from their respective readmes is all it takes. See:-