4 ms·
If you find yourself wanting to try out Emacs but are (understandably) turned off by some of its archaic defaults, I encourage you to check out my Emacs Bedrock
by ashton314 4mo ago
If you find yourself wanting to try out Emacs but are (understandably) turned off by some of its archaic defaults, I encourage you to check out my Emacs Bedrock [1] project. It is not a framework like Doom Emacs or Spacemacs. Instead, it's just a bunch of better defaults, plus some example configuration for some of the most popular packages. It's meant to just be a starting point, and not a framework to keep up-to-date in the long run.
Emacs has come a long way in terms of in-built features. The only problem is that, in the name of not breaking backwards-compatibility (or something like that), the archaic defaults have remained. Just a little bit of simple config (either from Bedrock or, heck, even an LLM) will get you very far.
I'm working on a new version of Bedrock for Emacs 31. If you're using the release candidate (which, because it's Emacs, is more stable than most other operating systems) then check out the `emacs31` branch.
[1]: https://codeberg.org/ashton314/emacs-bedrock https://codeberg.org/ashton314/emacs-bedrock
- a_e_k 4mo ago> The only problem is that, in the name of not breaking backwards-compatibility (or something like that), the archaic defaults have remained. As a user since '97, I've often felt that this philosophy is entirely, well, backwards. I know how to read the release notes to learn of such changes and how to edit my personal init.el file to revert a setting if I don't like the new default. As long as no one takes away the option, the default doesn't really matter too much to me. But newcomers who might not yet be comfortable with editing their init.el files could really benefit from a more optimal out-of-box experience. (And besides that, often the newer option is something that I've already moved on to, so making it the new default means I can now remove it from my init.el. I always enjoy when I discover that I can cut something from my init.el because it's now in base Emacs.)
- drdexebtjl 4mo agoOne solution that I really like for that is having the user configuration carry some kind of version number. Then, to change a default from `old` to `new`, you instead change it to `configVersion >= x ? new : old`, and add some kind of non-fatal warning in the else case instructing users to set their config to `old` explicitly. You don't break people's setups, they become aware of new defaults without reading release notes, and new users get the new defaults.
- a_e_k 4mo agoI do like that general idea. I bet it would be possible wrap in a handy elisp macro.
- christianbryant 4mo agoBedrock is the only Emacs "customization" project I've actually tried out since my GNU Emacs journey started in the Nineties. I am very simple in my setup and it was only in 2018 I started trying packages that I never used before to create some modes to manage tasks at work that dealt with commercial testing tools. It forced me to evaluate my init.el in ways I never imagined (which was, to be fair, getting unmanageable from decades of use). It was only this year I jumped onto System Crafters and saw the great work being done there by Guix hackers whose work I follow, and discovered Bedrock in the process. I'm still trying to navigate how it will best serve me but it has definitely changed my perspective from blindly updating a single file for all my many custom .el hacks and thinking more responsibly about how I code and how I manage my work environment. I highly recommend Bedrock to first-time or new-ish Emacs users who feel overwhelmed or who need a little organization in their environment. I particularly like the UI enhancements and have been using Avy for the first time. I'm already writing some code around Avy for a new mode and it seems to be the package I've been looking for. Even if you're a greybeard hacker like me Bedrock will be a great addition to your toolkit.