Bare Bones Arduino Uno as USB HID

So I've managed to get my Arduino Uno R3 working as a HID device (flashing usbserial firmware whenever I need to update the sketch, and then flashing the keyboard firmware to get it to act as a HID and send keys, etc).

However, now what I'd like to do is replicate this onto a bare bones kit (the ones you can pick up on eBay for $7, etc) and assemble my own little PCB. However, I still want it to act as a HID.

I'm assuming this is not possible with just the Amega328 bare bones kit and that in order to do it, I would also have to "port" over the ATMega16U2 somehow?

Any guidance on this would be great. Thanks!

I suppose also if I didn't need the HID functionality, I could just settle for a Python script that reads/writes from terminal and does stuff with it in serial mode.

Would just be nice to have that added functionality. Basically trying to minify my project a little.

Unrelated, but as an aside, any thoughts on a LiPo battery for the Uno?

I'm not not one to tell people how ....but why use a uno when you can get a pro micro for 8 bucks and do in out of the box. not bashing just asking

Because I'm just two fries short of a happy meal and I didn't think to order a Pro Micro instead at the time I went to order a replacement Atmega328 for an existing Uno I have.

I ordered the barebones kit so I could build one myself for the novelty of it but didn't realize until today that my project also calls for keyboard firmware to be flashed onto the Atmega16u2 as well which is missing from my barebones kit at this point.