As far as software projects go I'd say GitHub or whatever VCS you prefer. For photos and documents etc you could look into cloud storage like OneDrive. A friend recently told me about filen.io which provides a similar service but with encryption. Not sure whether OneDrive also supports encryption.
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.