Tuesday, 12 April 2022
It seems to me that when someone claims to be interested in Emacs, they are given two paths they are given two paths to choose from:
init.el
and built
upSome call the former approach “Vanilla Emacs”2. The latter have a number of choices.
I have never been a fan of the latter, for me or for anyone. All in all I do believe it hinders more than it helps – at least in the long term. I don’t want to go into that debate right now, but that being said, it obviously fill a niche. For a while now I have been wondering if a different approach could be taken to solve this problem, a compromise/combination of sorts.
Having some spare time on my hands, I wrote a little proof-of-concept to configure Emacs by deciding what you are interested in and being given a template of a configuration that you can use as a starting-point. It is appears to work, it is hack and it is accessible here:
In a certain sense, this is a kind of reverse-literate configuration. I have previously argued that literate configurations are mostly a waste of time and effort, especially given the self-documenting nature of Emacs. In this situation, the requirements have changed and good explanations as to what each option, mode, hook, etc. does are essential.
To emphasise my previous point, this is a proof of
concept. As such it is by far not complete or in any reasonable
sense coherent. The design is pretty 90ish/rudimentary3,
hasn’t been tested for mobile use beyond adding a certain
meta
tag, the server-side is wonky4 the
package selection is limited5, who knows how many
typos there are and the output is not as clean as it could be.
If there is interest in making this a more serious thing, any and all input is appreciated. Best send it to my public inbox ~pkal/public-inbox@lists.sr.ht, or ping me via IRC.
A few ideas going forwards might be:
https://emacs.amodernist.com/conf/31242141
might be useful
for embedded development, but
https://emacs.amodernist.com/conf/8098562
has a good
foundation for working with LaTeX. Note that these would link to the
form, with certain options filled in and perhaps highlighted, not a
finished configuration file.Of these “Distribution” is the least accurate term, since you are not distributing Emacs or any modifications to Emacs itself. We do not call desktop environments “Linux distributions”.↩︎
Which reminds me of the semi-satirical site Vanilla JS↩︎
I am not a web developer, I do not want to be a web developer. If you are a web developer, and like doing web development, I would appreciate any help as long as I can stick to my progressive enhancement (or) approach↩︎
It is currently written in Common Lisp, which isn’t my strongest Lisp. I don’t know if it will stay this way, but it was nice to just be able and take a script from 1999 and adapt it to my requirements with minor modifications.↩︎
Though I would like to clarify that I intend to only promote packages on GNU ELPA and NonGNU ELPA.↩︎
A general purpose
wizard.el
that can both guide a newcomer through the basics
of configuring their Emacs and an experienced user through setting up a
wizard is much needed.↩︎