humacs / .doom.d

our doom-config
2 stars 4 forks source link

Consider doom-emacs community standards for config management #9

Open BobyMCbobs opened 2 years ago

BobyMCbobs commented 2 years ago

Currently, we are tangle different literate org files based on if you have one. The config should be static and tangled by the maintainer.

In order to ensure that anyone can bring their own literate doom config, we should move away from ii.org and {username}.org and replace it with config.org or README.org which are manually tangled on change.

Each fork or user with a .doom.d repo should be responsible for managing their own config and what gets loaded.

With these things considered, it will mean for more traction for those who wish to configure their doom setup.

BobyMCbobs commented 2 years ago

cc @zachmandeville

zachmandeville commented 2 years ago

Thanks for opening this issue, @BobyMCbobs !

To give a bit of context on how the discussion started: I was having issues getting a pair instance started. In debugging it, we found the issue was that one of the steps in instance creation was to see if the instance creator had a .doom.d repository on github and if so, download and use that instead of the humacs/.doom.d repository. Since I have one, it used it instead.

However, my .doom.d repository matches the standard structure for doom-emacs, meaning I have an init.el, package.el, and config.org that tangles into a config.el.

The humacs/.doom.d repo uses a custom structure, where you have multiple org files named after a person or a github username. These org files tangle into all the files listed above.

When pair used my .doom.d repo, it assumed that it would find a zachmandeville.org file that it should tangle and, when this was not found, threw an error.

I do not think pair should control how someone's .doom.d is structured. We should follow the patterns of the existing community for doom emacs. If we want to have a custom .doom.d repo that works with pair, it should also work with the standard tooling of doom emacs.

What I imagine is that, when pair starts up an instance and finds a public .doom.d repo for the user, it installs it using the same steps as outlined on hlissner/doom-emacs. Which is:

If we are maintaining a .doom.d repo, I think it should be able to be installed with these same steps. If you want to use your own repo, it should be accessible to pair and installable with the same steps. If we require different steps, it will be hard to coordinate pair use with other doom emacs users, which would be a shame.