Is there a robust way to ensure that a package is always loaded on startup, even in parallel kernels?
Parallel kernels do not read Kernel/init.m.
Is there a robust way to ensure that a package is always loaded on startup, even in parallel kernels?
Parallel kernels do not read Kernel/init.m.
The Autoload mechanism can be used for this. Place the package in $UserBaseDirectory/Autoload or $BaseDirectory/Autoload.
However, the package must follow the standard structure, and must have a Kernel/init.m file, otherwise it won't get loaded.
Also keep in mind that auto-loading of packages happens only after $UserBaseDirectory/Kernel/init.m was loaded (on the main kernel; subkernels don't load the standard kernel init.m because they are launched with -noinit).
Autoload, but I haven't figured out all the details yet. – Szabolcs May 12 '16 at 12:32