Since you're poking at a lot of the path values anyway, how hard would it be to base them on external defines?  They can be hardcoded for Mac and Windows, but it'd be nice to make them configurable at build time so we can do linux packaging.  Mostly it's just a matter of assembling the path variables in one place, so they can get redefined as needed.