Build your own Spacemacs

How would I build emacs up to have all the things I like in spacemacs minus the useless bloat? I don't even know what specific packages are built into "base" spacemacs, but I wouldn't know how to install and configure them myself even if I did.

Specifically, I want:
+ all of the evil-mode and spacemacs key binds, including SPC SPC for M-x
+ which-key stuff, including the little mini-buffer at the bottom with completion options
+ cursor color and shape changes depending on evil-state
+ lazy loading, if it actually makes startup significantly faster
+ ivy command completion would be nice
+ the default spacemacs theme would also be nice, and maybe easy access to more themes

What I don't want:
- fifteen second startup
- smartparens (which manages to fuck up lisp autoindenting, on top of being stupid and useless)
- any other bullshit packages I'll never actually use*
- checking for updates to packages on emacs startup; I have no need for any volatile extensions
- random hangs that last as long as 10 seconds, probably due to "-" #2

*If anyone could at least tell me how to find a complete list of packages/layers spacemacs depends on so I have an idea of what the bloat consists of, that would be awesome and I'd be really grateful.

Basically, I think spacemacs has caught upon some great ideas that grab the best of vim and emacs, but the just werks kitchen sink implementation is way too bloated and slow. I'd rather piece it together myself than depend on design-by-committee to manage my config, but I'm way too new to emacs to figure out how. Can any of you guys who've recommended customized emacs over spacemacs at least walk an emacs noob through installing all the spacemacs keybinds? I will be thankful for all eternity, I promise.

Attached: ss1.png (1380x718, 200K)

Other urls found in this thread:

dsdshcym.github.io/blog/2018/01/22/compare-doom-emacs-spacemacs-vanilla-emacs/
github.com/syl20bnr/spacemacs/issues/9352
twitter.com/SFWRedditImages

Read the source faggot. You have all the .el files on your drive. Grep them for package list.

a quick fix to emacs would to simply replace emacs lisp with a faster/better programming language since almost all the functionality of emacs is just a bunch of elisp scripts and then transpile that language into elisp

Okay, done. That's probably a hint as to why it runs like such ass and takes a year to open a file. It still looks like it would take me at least a week to figure out how to piece this together myself: init.el calls core-load-paths.el and requires core-spacemacs, and the core-spacemacs.el is 222 convoluted lines of requires, hooks, and evil keybinds. Bear in mind that I've never added any extensions or packages to emacs, so all of this is completely new to me and really confusing. I think the only way for me to figure this out without a detailed guide is to keep using spacemacs on one machine, and also use plain emacs on a different machine, then slowly figure out how to converge the two. It looks like recreating just the complete spacemacs keybinds is not going to be the work of a day or two, but rather a solid week of poking around and trying things. I feel tired already.

I'm also interested in this, I tried building my own spacemacs-like config before, but only managed to install a few useful packages like which-key, evil and spaceline. I eventually got back to spacemacs because I missed some keybindings such as M-m and alike.

M+x list-packages
install ivy-mode, evil-mode, whatever else you want from the list

Yeah, so many people have said "just make your own emacs config", but I don't think they realize that spacemacs is not just evil and a handful of other packages, it's evil and 20 evil plugins, all scripted and configured to play nice together and have sane default bindings, plus another hundred packages on top of that. I sure as hell don't need all 100 of the other packages, many of which are redundant (like 5 different ways to navigate the filesystem), but I can still see the immense value in a tightly configured evil mode plus some interface niceties. I just can't stand waiting 20 seconds to start editing a file.

Do you know of a way to dump all the current bindings per layer and then pull them back in later? Are you a longtime emacs user? If so, why don't you see if you can do it and then explain it to us noobs just as an exercise in your emacs-fu? From what I've learned in reading the config and init files, replicating spacemacs functionality is a little more involved than installing a few of the same packages, or maybe you know something we don't.

Set up emacs to run in daemon mode and then spawn new emacsclient peocesses instead of full emacs.

i don't know about spacemacs's layers (i don't use it) but you can list all bindings with C-h b or describe-bindings

this op. there's no reason to be reloading your config and all of your plugins every single time you need to edit something. treat emacs like a lisp machine and it will be good to u

Alright, but I still get random hangs while editing small files that last around ten seconds. There's no way I'm using all of the default packages (pic related).

Yeah, but there are thousands. I'll probably have to trace all the init and config files to find any place where a keybinding is added and then copy those lines for use in my own config. And I don't know if the order in which evil plugins are loaded will cause bindings from other evil plugins to be overwritten or not. Ah well, I have plenty of experimenting to do.

I think there was an option to install a minimal spacemacs, so I'll give that a try and only add new packages if I actually plan to use them.

Attached: ArchLabs_2018-04-18-55_1904x1098.png (642x1038, 397K)

You start your own init.el and install the packages you need.
Use-package is excellent and will help you organise your config.

Read the docs and wiki of emacs.
Stop wasting storage on disk in the Jow Forums server, they are many already, we don't want one more

>I think there was an option to install a minimal spacemacs
If I remember correctly, spacemacs asks which version to install when you first open it, there's the base branch or something that comes with fewer packages, but I'm not sure if it has the same fundamental features

>t. battlestation thread regular
Yes, I'm sure this almost entirely text thread is a huge strain on the server. Thanks for your continued contribution of absolutely nothing to this world.

Anyway, I figured with all the suggestions of "just make your own config" I've read on here that it wouldn't be too hard to recreate the core spacemacs functionality with a little help from people who've already done it on Jow Forums, but skimming through all the core*.el files, it's obviously a much more difficult task than I'd anticipated. It's going to take some substantial work to disentangle all the cruft of making spacemacs its own "just werks" brand from the actual useful extensions to emacs that directly affect editing and key bindings. If I ever figure it all out, I'll make a thread and share my process.

Yep, I just tried that on this machine and it has all the stuff I could see myself using except neotree. So I'll go through the process of adding that layer and see if the end result works the same as the full install, making note of all changes needed to get there if it doesn't.

Try doom emacs

Think of this as a small project and work on your config over time.
Start with emacs, change theme, configure melpa, add basic stuff you want like evil mode and treemacs. Then configure language specific modes as you need them, and override bindings when you find them to be suboptimal.

>- fifteen second startup
picture says "222 packages loaded in 2.2 seconds"

get this book

Attached: lrg.jpg (500x656, 93K)

Eh, maybe. Looking at the github page, it doesn't have a real community behind it, development is slow, and there are plenty of open issues. I don't care about there being a community per se, I just don't want to be shit out of luck when I hit a workflow-killing bug because I'm one of five people actually using an fringe tool.

Yep, it's very obvious now that I'll have to devote serious effort to learning emacs configuration before I can even dream of properly recreating spacemacs. Right now I'm in over my head, and I can't even tell to what extent it can be put together modularly or if getting emacs to behave like spacemacs just plain requires tangling all the components together. Then again, there are over seven thousand LoC in ~/.emacs.d/core/core*.el, so maybe it would be a serious investigation even if I were an emacs package veteran.

That's just a screenshot from their site. It takes between 7 and 15 seconds on my laptop, but I'm open to the idea of running it in daemon mode like suggest now that I've gotten a taste for its power. Being able to take a quick tetris break without changing applications is super comfy, and maybe the built in irc client is worthwhile too, though I really like irssi.

The reviews are kinda shit, apparently because it doesn't go deep enough. Then again, maybe that means it'll be perfect for me as a first step on the path to emacs.

>development is slow
hlissner is insane and puts out commits near daily. Usually multiple times a day. You can basically determine his sleeping hours based off of his commits.

Attached: 1502267604487.png (1081x737, 126K)

Oh, I'm retarded; I was just looking at the master branch which hasn't changed this year. Regardless, I'll have to learn more about extending emacs before I can intelligently compare the strengths and weaknesses of both projects from a software engineering angle, but I welcome your take on it. So far, I like the end result of spacemacs way more than any other editing environment I've tried, but I get the feeling that the method is more convoluted than it needed to be.

dsdshcym.github.io/blog/2018/01/22/compare-doom-emacs-spacemacs-vanilla-emacs/

Thanks, that was a good read. It's funny that I got started on this path all because I didn't know how to turn off smartparens, and the solution I found seemed too involved given how conveniently modular spacemacs bills itself and how simple my goal. Oh, and I just discovered that doing sudo edit completely freezes spacemacs sometimes. Not sure why only sometimes, but it seems to be a long-standing issue:
github.com/syl20bnr/spacemacs/issues/9352
I really dislike the idea of a big, multitasking editor crashing; if Doom is more stable then I'm happy to give it a try.

You want to remove more stuff than you want to keep. Start form zero and make your own config.

Use the native plugin API emacs added not too long ago.