Simplifying Setup for Casual
18 Aug 2026 Charles Choi
Since its inception, Casual required individual setup for each module it supported. This seemed fine at the start when the module count was low. Now weighing in at 26 modules, there is admittedly a lot of setup.
Not anymore. Starting with the latest Casual v3.0 update, there is now a convenience command to setup all Casual modules: casual-init.
Use the following Elisp to replace all the previous setup code:
1 2 | |
You can configure which modules to setup via the customizable hook variable casual-init-hook, a list of hook functions each associated with a module. Having a module hook function present in casual-init-hook tells casual-init to setup that module.
Editing casual-init-hook is straightforward using the customize checkbox interface shown below.

More information about installation and setup of Casual can be found in the Casual User Guide.
Bumping to 3.0
Because the recommended setup has significantly changed, I’ve decided to bump the major version to 3.0.
That said, there are no functional changes to Casual and all the prior individual setup still should work without change. For existing users of Casual, I highly recommend migrating to casual-init as it allows for removing individual setup code.
A significant amount of manual testing was required to verify lazy-loading behavior in casual-init. While best effort was made to avoid unpleasant surprise, if something shows up, please file an issue to let me know.
Casual v3.0 update is now available on MELPA and NonGNU ELPA.
It costs money to make, enhance, and maintain Casual as ideologically free software. If you enjoy using Casual, please consider buying me a coffee to help support its development and maintenance. Thank you!