I use plain text notes for everything. Have been since 2001.
A while back I open sourced a script that helps me easily create them in a few different ways without leaving the terminal: https://github.com/nickjj/notes
Then I let grep and friends handle the problem of searching as needed.
I don't really worry about things like photos because I treat photos differently than notes or text snippets.
Since it's just a bunch of month dated text files you can easily sync them using github, dropbox, google drive or whatever file sharing service you prefer.
A while back I open sourced a script that helps me easily create them in a few different ways without leaving the terminal: https://github.com/nickjj/notes
Then I let grep and friends handle the problem of searching as needed.
I don't really worry about things like photos because I treat photos differently than notes or text snippets.