# 6 Using Profiles

A profile defines all the settings necessary to run a particular version or installation of Oz. You can have an number of profiles and you can switch between them while remaining in the same Emacs session. The advantages for regular users are:

- You don't need to invoke `oz` to start an Oz session. Rather, you start your regular Emacs and whenever you want to start interacting with a certain version of Oz installed on your system, you select the appropriate profile and all appropriate settings are automagically installed.

- You can thus easily switch between several installations of Mozart.

- It is easy to customize the settings for a profile using Emacs's `customize` interface.

Additional advantages for Mozart developers are that you can easily define profiles

- to run Oz from a build directory.

- to run a debug emulator under GDB.

`oz-profiles` (default: `nil`) [user option]

  An alist of profiles for different Oz mode configurations. The keys of this alist are the names of the profiles.

`oz-set-profile` `NAME` [command]

  Select profile `NAME` from those defined in `oz-profiles`. If Oz is currently running, the user is prompted to decide whether to kill it. A new profile can only be installed when Oz is not currently running in the OPI.

`oz-profile-undo` [command]

  Undo the bindings established by the current profile. This is rarely useful because `oz-set-profile` automatically invokes `oz-profile-undo` in order to undo existing settings and replace them with new ones.