Idea: Doom Emacs Configuration Service

Published on Dec 20, 2021, by Junji Zhi

When you are tinkering with Emacs, would it be great to refer to others' configs automatically?

In a sense, we are doing it manually already: We often go to other people's Github repos and look at their configs (either in code or in a giant .org file).

With Doom Emacs, we may streamline the process. Here's my reasoning:

Doom Emacs establishes a convention of configuration files:

  • Doom modules enabled in init.el
  • Other non-Doom packages: package.el
  • Customization stored and managed in custom.el
  • All private configs live in config.el

In other words, Doom standardizes (and simplifies) the Emacs configurations.

With all the famous people’s configs, we can build a service to automatically analyze their configs and answer questions like:

  • Should I use this Doom package?
  • How do people configure it? What options do people use?
  • Is there any packages people use that matches the keyword foo?
  • What's the popularity of this config?

We can build a program to pull the list of Doom config repos, and perform file parsing to get the stats.

It would also help the community to improve the defaults on Doom Emacs. Say, if the majority of users add package X in Doom, it is a appealing reason for Doom to incorporate X.

We can extend the idea: Because Emacs can act as a server and is inspectable, why don't we spin up an Emacs cluster running all kinds of configs.

The service can answer all kinds of config queries.

A usage scenario: People send in their 1) Emacs version, 2) Doom version, 3) package name, and the service returns a list of configurations for that package, together with popularity data, and documentation that people can search and learn.

What do you think of this idea? Drop me a comment!