All my source code is organized following the convention Go was built on, e.g. ~/src/github.com/bitwalker/<repo>
, or in other words, ~/src/<host>/<user_or_org>/<repo>
. So I put all my personal projects and forks in ~/src/github.com/bitwalker
, if I clone someone else’s stuff, it goes in a folder dedicated for them, e.g. ~/src/github.com/elixir-lang/elixir
. So far this hasn’t failed me, and has made it easy to keep things in a structure which is easy to navigate. I usually have a lot of projects, but if you don’t have so many, this might be unnecessary overhead.
Music I store on an external SSD, which I manage using beets. The folder structure is ultimately Music/<artist>/<album>/<song>
, but I don’t maintain the structure myself directly, it’s all done by beets.
Movies and TV are stored on the same SSD, in Movies/<title> (<release year>)/
and TV/<series> (<release year>)/<season>/
respectively.
Photos I organize by Pictures/<year>/<event_or_month>
Downloads I don’t organize, they get moved to storage and organized by category. I don’t keep around anything I don’t want long term.
Books I organize by <genre>/<author>/<title>
Documents are split between work and personal, and categorized by purpose, no hard set rules here though, just whatever makes sense for a given document.
I don’t use my desktop for anything, it’s empty.
That’s about it - my recommendation is to keep your system simple, anything too complex will be ignored and eventually you have a mess again. If you aren’t sure where something goes, I have an “unsorted” folder in each major category where I keep things, and I rename the files there something verbose to make it easier to find later, and then leave stuff there until I have time to go in and sort a few things all at once. This makes the mental overhead of keeping things organized really light, and keeps things tidy for when I actually have time.