I really want to store things locally though, and then just stick with cloud as backup. The problem is I also don't want to manage anything complex.

You can store code locally in git, and only use GitHub as a backup. This is the "distributed" part of "distributed version control"

If you have a NAS you can run Gogs as a container for a git repo.

if you have a NAS you can just use a bare git directory as a remote

I do this, works exceptionally well. It also works via a USB key.