Example config doesn't start
sthesing opened this issue · 5 comments
In its current state, a fresh install of rational emacs with the example config doesn't start. Not a good first contact for new users.
Two problems:
- the
doom-snazzy
theme loaded inexample-config.el
rational-evil
- see #126
Both problems are due to loading out of date releases of emacs-evil
and doom-themes
respectively.
Possible fixes
1. Theme
The first problem is easily fixed: e.g. by #131
2. Evil
The second problem could be fixed by
- convincing the maintainers of the respective packages to issue new versioned releases of their packages
- probably be the best solution, but it's no quick fix. I opened emacs-evil/evil#1610 over there.
- changing the priorities of package repositories in
early-config.el
:- impacts rational-emacs' general policy of handling dependencies and requires a separate discussion.
- not loading rational-evil in the example-config
- no real solution
- changing the current function calls in
rational-evil
to work with the out-of-date version ofemacs-evil
- requires work that no one really benefits from. It is already fixed in newer versions of
emacs-evil
after all.
- requires work that no one really benefits from. It is already fixed in newer versions of
Still, it's less than ideal when the first thing new users experience is a failing example config. Ideas?
convincing the maintainers of the respective packages to issue new versioned releases of their packages
probably be the best solution, but it's no quick fix. I opened Release - Version bump for MELPA Stable, NonGNU ELPA emacs-evil/evil#1610 over there.
Yes, this is the best solution, but also agree this is not a quick fix. Thanks for opening an issue over there!
changing the priorities of package repositories in early-config.el
Yes, this is probably sub-optimal. It is a possible solution a user could implement in their own config.
Another solution, probably a better quick-fix solution is to pin
the package to a repo, at least until evil
makes a release. This is done by (add-to-list 'package-pinned-packages '('evil . "melpa"))
in a users early-config.el
file or possibly we put it in the rational init files. This just needs to come before the call to package-initialize
which is why the suggestion to put it in a users early-config.el
file. Perhaps we should add a note about this in the README?
Related comments for this issue are also on #126.
Actually, commenting out rational-evil would not be to bad solution, at least for me that doesn't use evil-mode.
I don't mind evil-mode added as an option, but I would prefer that the original key bindings would also be default for rational-emacs. And write a note in README about key bindings, that one can choose between default and vi key bindings in an easy way.
But this probably should be another issue?
Actually, commenting out rational-evil would not be to bad solution, at least for me that doesn't use evil-mode.
I agree. I think, at the time the example was originally written, all the modules listed in the example were the only modules we had, so it was showing all of them. Not sure. There are others there I would also drop, but it's just an example.
Another approach would be to put a comment out each require, with an additional "uncomment if you want X features" kind of thing just above it similar to other types of configuration files. I might leave rational-defaults
uncommented though.
I don't mind evil-mode added as an option, but I would prefer that the original key bindings would also be default for rational-emacs. And write a note in README about key bindings, that one can choose between default and vi key bindings in an easy way.
But this probably should be another issue?
Perhaps, see also #128 which might be (another) good place to enhance the documentation around this concept.
Opening emacs-evil/evil#1610 worked. They issued a version bump, which has already been propagated to MELPA Stable, not yet to NonGNU ELPA. So, if the package source priorities of MELPA Stable and NonGNU ELPA would be set to equal values, example config would work.
EDIT/Update: It reached ELPA, too. So, as soon as both example configs are up to date with #138, (see #139), new users (hopefully) won't be up for bad surprises when they try rational-emacs with an example config.
With #126, emacs-evil/evil#1610 and #139, users encounter a working example config 🎈 and this can be closed.