# Site and personal initialisation files On startup, SWI-Prolog reads both site initialisation and personal initialisation files. Both can be controlled explicitly using commandline options (*|-F base|* for site, and *|-f base|* for personal initialisation). The site-initialisation file is located in the SWI-Prolog home directory. Its name is deduced from the commandname by taking the leading alphanumerical characters, followed by the extension =|.rc|=. Using default installation this implies *|swipl.rc|* for the Unix version and *|swipl-win.rc|* for the Windows GUI version. If XPCE is installed, it is activated through the above named system default file. The personal initialisation file depends on version and OS: - 8.1 and later
The file is called `init.pl` and resides in a directory `swi-prolog` below the the [XDG](https://wiki.archlinux.org/index.php/XDG_Base_Directory) config home. On Unix the default XDG config home is ``~/.config``. On Windows it is the directory provided by win_folder/2 on `local_appdata`. These files are available using the file_search_path/2 alias `user_app_config` as well as the deprecated aliases `user_profile` and `app_preferences` - Up to 8.0
The file is named ``.swiplrc`` on Unix (``.plrc`` for really old versions) and ``swipl.ini`` on Windows (``pl.ini`` for really old versions). The file resides in the user's home (Unix) or in the ``appdata`` directory (Windows). These files are available using the file_search_path/2 alias `user_profile`. In *|plwin.exe|*, the personal initialisation file is accessible through the *|Settings menu|*. On first use, it copies a default file with some commented commonly used customization options. The same behaviour is also available from the PceEmacs menu _|Edit/Prolog preferences|_. The *|-s file|* command line option is often used on Unix systems to load and start applications using a single command. This option can also be used to create PrologScript.txt files. Recent versions interpret a ``*.pl`` file on the command line as a source file. When used in a terminal, a session is typically started as swipl file.pl