I'm refactoring my config from a monolithic init file (a .org that is tangled) to something more modular.

In the same time, I am trying out Prelude and Spacemacs, and I feeling it very likely to use both of them in different context.

As a result I am trying to find a way to dispatch and structure my original init file in a way that can be easily plugged into both Prelude and Spacemacs.

  • The Spacemacs way uses pushes to create (private) configuration layers. But I'm not sure I could find a way to use them in Prelude. (and I'm not fond of dispatching, dep, function, keybindings into different files)
  • The Prelude way puts different modules into dedicated files, which you place in folder personal.

How can I do this? Has someone already tried?

1 Answer 1


There is no need to dispatch you configuration in Spacemacs, config.el, keybindings.el and funcs.el are facultative. But for now you have to put ELPA packages in packages.el and extensions (i.e. source code not in an ELPA repo) in extensions.el.

I'm no expert with Prelude but here is my guess:

I think you can match Prelude module and Spacemacs layer.

  • Create a module for Prelude with the structure of Spacemacs (that is a list for the packages with the associated init functions), the magic variables of Spacemacs mean nothing to Prelude so Prelude won't trigger any of the configuration.
  • Then find a way to know if you are in Spacemacs or Prelude and when you are in Prelude call all the init function explicitly which in turn will call all the use-package stuff and your config.
  • At last for Spacemacs create a packages.el with load-file of your Prelude module which has the structure of a Spacemacs packages.el file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.