-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consideration for reduced number of default packages #52
Comments
Indeed there are a lot of packages we can remove from the spacemacs layer. Thanks for opening this issue where we can discuss about this. You are right about the spacemacs layer which could be as any other layer, it makes perfect sense but I think it could hurt one of the goal of the project which is to have consistency, especially regarding key bindings. One of the main point of spacemacs is to have the space key as the leader key and built upon it to have mnemonic and ergonomic bindings. Ideally contributions will stick with this scheme since it is at the core of it. So hopefully we will have a bunch of configuration snippets that fit well together regarding the key bindings and philosophy. If we achieve this, I think we will achieve something unique in the Emacs community. Now your wish to have a base Emacs extended by configuration layers will come true in the future, maybe by us or by other people. The spacemacs project is also a playground for a contribution model I call |
Just my quick thoughts on the matter: I like the spacemacs packages, but that may well just be because they're sane defaults that match my approach. It's opinionated, but happens to match my opinion. I guess the other approach I'd be happy with is an emulation of vanilla Vim with a plethora of layers for languages and environments that you can easily hook into. So adding With that in mind though, the packages I don't use don't get in my way. If they did I could easily disable them thanks to the |
Thats' correct, I basically have been updating |
I like the layer per language approach a lot. Maybe we can organize the layers in categories:
These two categories are a good starting point. For now if a package is listed in several layers, the last declared layer wins the right to initialize the package. With the approach suggested by @Wolfy87 we could change this behavior to get additive configurations and we could add a new function type beside Flycheck is a good case study for such a mechanism. One more thing, the documentation model for spacemacs must take care of the additive configuration layers. |
This discussion can be closed, we already started and will continue to move packages to contrib layers. |
I was using Vim for 6 years before I tried Evil, and had finally gotten in the hang of using Emacs with multiple
require 'init-packages
until I found this repo. I really like the way you set up extensions and packages, in addition to having a call to aninit
function on each package load, which is very reminiscent to how I hacked Vundle to load some autoload functions based on the package name loaded.One question I had was whether you ever considered refactoring some of the package definitions into separate contribution layers for some advanced features and languages. I know you can add a package name to a variable to not load it, but I have about 40 packages in that variable, (mostly language packages I do not use). The idea being that you basically have a bare bones emacs environment to still have a decent experience and then maybe make a spacemacs-advanced contribution layer that loads everything else (it can even be set as default).
The text was updated successfully, but these errors were encountered: