I use Mathematica on a NeXT, and I solved this problem by just
creating a text file called init.m in my home directory. It
contains, among other things, the following line:
$Path = Join[$Path, {"~/Library/Mathematica/Packages"}]
Everything in ~/init.m is executed every time I launch Mathematica
(when logged in under the username corresponding to the home
directory in question). You can let the second argument of Join be
any list of strings (note the quote marks), one string for each
directory path you want Mathematica to search for packages.
(It took me quite a while to realize that I could just create my
own "personal" init.m, despite the presence of
/LocalApps/Mathematica22.app/StartUp/init.m, or whatever. They
don't interfere with each other in any way I have yet detected.)
This leaves all the default search paths intact in each session (so
standard packages load properly) and also avoids tampering with
sysinit.m, which is probably a good general policy (or a necessity,
if you can't log in as root).
Preston Nichols
Department of Mathematics
Carnegie Mellon University