At least for the RGB portion, I would also look into OpenRGB! Although I don’t have RGB keyboards, I do have lots of RGB in my computer that I sync up using it. They also have a compatibility list for their supported hardware, including a keyboard filter too
I also use a NAS as my primary git server, although I’ve never heard of Forgejo before, but it sounds really interesting and definitely something that I may look into. It sounds really handy to have on hand, especially with code search and LFS. So thanks for introducing that!