Next: Initialization and Exit Hooks, Previous: Command Line Options, Up: Starting and Stopping

### 3.4 Initialization Files

SBCL processes initialization files with `read` and `eval`, not `load`; hence initialization files can be used to set startup `*package*` and `*readtable*`, and for proclaiming a global optimization policy.

- System Initialization File

  Defaults to ``$SBCL_HOME`/sbclrc`, or if that doesn't exist to `/etc/sbclrc`. Can be overridden with the command line option `--sysinit` or `--no-sysinit`.

  The system initialization file is intended for system administrators and software packagers to configure locations of installed third party modules, etc.

- User Initialization File

  Defaults to ``$HOME`/.sbclrc`. Can be overridden with the command line option `--userinit` or `--no-userinit`.

  The user initialization file is intended for personal customizations, such as loading certain modules at startup, defining convenience functions to use in the REPL, handling automatic recompilation of FASLs (see FASL Format), etc.

Neither initialization file is required.