reddit / emacs
What Do People Dislike About Emacs Distros?
pajuch · 2022-04-15 10:08
I'm sure many of us have tried a doom, or a spacemacs before, some have stayed and some left for greener pastures. My question to all emacs-enjoyers is: what did they get wrong? What turned you off from sticking with it, or what bugs you everyday about it?
adouzzy · 2022-04-15 10:27
For those who enjoy Emacs, building from scratch is always a tempting exciting journey.
Inevitably, users will opt out.
SasukeUchiha231 · 2022-04-15 11:28
I do enjoy building my own config, but doom does have superb functionality. For example, doom has a function that can easily toggle a vterm terminal like vscode, in the project root or current directory depending on the context. As a beginner, I find it hard to implement this in my config. In such scenarios, doom wins.
But if you want to learn what packages do what, making your own config is helpful. You also learn what stuff you want, and design your workflow accordingly, not on the basis of what your distro provides.
Mal_Dun · 2022-04-15 11:43
Startup times.
draxil · 2022-04-15 11:49
Mostly just that I built my emacs ecosystem before these were really a thing. And now I can't imagine having to integrate a whole bunch of other people's choices.
However if I were starting now I'm sure I'd be going down this route.
Deep-Fox6860 · 2022-04-15 11:57
As u/draxil said, I already had a moderately sized configuration and I couldn't understand how to port it to - first Spacemacs and then Doom. Since then my configuration changed dramatically (started using use-package, removing unused packages) and I still don't want to move. The reason is the complexity.
Right now if I have an issue it's either my config or some package. Both I can change easily, i.e. fork a project, suggest a PR. When you're dealing with Doom especially, you can have issues with the Doom code, i.e. interaction between all the components. Then, it becomes a Doom community issue. I don't want to be dependent on them. There are enough moving parts, e.g. living on Emacs master to worry about, I don't want to learn the inner working of Doom, which may or may not be here in 10 years.
adouzzy · 2022-04-15 11:58
If you want worked out of the box, you would probably choose vscode at the first place.
I naively believe people like Emacs not because of rich in features. But the degree of freedoms.
If something doesn't worked as expect. Just do help on variables or functions. You can tweak it really easy.
Doom is essentially an awesome wrapper on top of the Emacs. If you want to change why not change the real thing?
_noctuid · 2022-04-15 12:19
Functionality like thus is better implemented in packages (like vterm-toggle), so anyone can use it. Some of the stuff in doom eventually does end up in packages (like doom-modeline) but not enough (e.g. the template functionality should be its own package). I'm currently working on a package of general configuration utilities to partially address this.
ragnese · 2022-04-15 12:26
Honestly, if VSCode weren't proprietary, didn't include a bunch of telemetry bullshit, and wasn't owned by Microsoft (I'm sorry, but I still find everything they do to be more-or-less evil), I'd move to it.
From what I've seen and read, VSCode is like Emacs in the ways that matter to most people. I'm sorry, but as much as I love customizing stuff, I absolutely hate that I need to even know what the damn gc-cons-threshold is for my programming editor; or how hard it is to get a good handle on what buffers and windows will pop open, and in what position in the frame, and where my point/focus will be when it does. And trying to hunt down what keybindings exist in what combo of keymaps/modes is a royal pain in the ass without just opening a buffer and seeing what the keybindings are once you're there.
I love the idea of Emacs, but I honestly kind of hate using it at this point. I'm just stuck here until something else comes along that's customizable/extensible in the ways I care about without being stupid or evil. I say that with 10+ years of Emacs experience under my belt (some periods more "deep" into it than others).
danderzei · 2022-04-15 12:46
Emacs distros are like buying a fully furnished house. I like to add my own paint and furniture.
adouzzy · 2022-04-15 13:08
Totally fair. Emacs is 46 years old, you can call it an old man/woman after all.
VIM/Neovim is always on the other side of the hill.
jacmoe · 2022-04-15 13:08
I have tried Prelude and Spacemacs and other distributions, even small, well put together Emacs configurations of other people, and always felt like wearing someone else's custom tailored suit.
​
Three weeks ago I had grown increasingly dissatisfied with my Emacs configuration from scratch, and wanted to take a different direction.
​
Then I stumbled over this excellent article by Jethro Kuan:
​
[https://blog.jethro.dev/posts/migrating\_to\_doom\_emacs/](https://blog.jethro.dev/posts/migrating_to_doom_emacs/)
​
>But Doom offers more than a nice, loaded starting configuration. There’sa lot of machinery underneath that makes Doom Emacs fast. When I firstloaded Doom, I was surprised at how much faster it was in terms ofresponsiveness and load speed. I couldn’t go back. I decided to use Doomfor this machinery, choosing only a small subset of its providedmodules.
I migrated my configuration to Doom-Emacs in a few days, and I was not disappointed to learn that I was able to turn everything off. Underneath it all is a very smooth engine that took my Emacs configuration and made it more than twice as fast and responsive.
So, I am using it as a framework, an engine, for my very own, bespoke Emacs.
​
However, I don't think I would have benefited from Doom-Emacs when I was new at Emacs. I have maintained my own configuration for a while, and know a thing or two, and that makes me able to use the Doom-Emacs engine, as opposed to be controlled by it.
Like most seasoned Emacs users, I like to tailor my Emacs exactly how I want it, and I can actually do that with Doom. It is a thin layer between me and vanilla Emacs.
​
I guess I will return to vanilla Emacs in the future, only to return to Doom, but I am not the only one :
https://www.rousette.org.uk/archives/hi-ho-hi-ho-it-s-back-to-doom-i-go/
ragnese · 2022-04-15 13:13
Yeah. I actually switched from Emacs to Vim a while ago, and then after two years, I learned about Evil being highly regarded and switched back to Emacs+Evil.
I could honestly see myself trying out Vim again. I think the only package I'd *truly* miss would be magit. I'm sure there's some lame knock-off available for Vim, but there's no way it can be as good.
publicvoit · 2022-04-15 13:14
The different set of requirements from the assumptions of the pre-fabricated configuration and the set of my own requirements.
The inability to adapt the preferences without breaking the upgrade path of the project.
One size fits all versus handcrafted solution.
Unknown side-effects when modified by myself.
char1zard4 · 2022-04-15 13:19
I installed spacemacs before vanilla emacs but found myself trying to learn too much at the same time, I didn’t understand how/why configurations were made, what any of the installed packages did, etc.
Using vanilla emacs with absolutely no configuration let me figure out what I liked and didn’t like, and I started finding packages to modify the default behavior.
[deleted] · 2022-04-15 13:21
[removed]
by_wicker · 2022-04-15 13:39
I like the principle of using a coherent, curated configuration and not having to work it out myself.
I've occasionally tried to migrate but found it confusing and hard because everything becomes obfuscated by new layers.
I recently thought I'd check out doom and see if it could work for me, but first thing I hit was I could not use the customize interface. I get the limitations of customize, but it makes things so much more discoverable and some configuration *much* easier than without. Doom did some things I didn't like and it wouldn't even let me use customize to work out what settings might control it. And so ended attempt #7 to adopt a curated config.
Think-Description222 · 2022-04-15 14:41
spacemacs: layers are too complex. user configuration is not as good/flexible as doom. too bad performance. sparse support/community.
doom emacs: documentation is lacking (there are modules without any documentation). bus factor. not as well thought keybindings as spacemacs.
distros have the downside that you're depending on them, and that you will have distro-specific bugs which is confusing (is this a bug with the distro, my config, or the package?). they have some pre-configured stuff that you will disagree with at least in the beginning.
Bolyzaurio · 2022-04-15 15:15
I see the parallel with Linux distros, Doom and Spacemacs are robust, full of features and goodies, like Debian, Ubuntu, but sometimes I just want to know what/how is happening, also those configurations already decided a lot of stuff.
TheFrenchPoulp · 2022-04-15 15:37
The cryptic support requests that come with it
SupremeSorcerer · 2022-04-15 15:44
Maybe you can try VSCodium. VSCode without the telemetry and the snooping.
naokotani · 2022-04-15 15:50
I would just rather add what I like then take away what I don't.
wasag · 2022-04-15 15:54
I want to be able to fix things myself.
ragnese · 2022-04-15 16:14
Thanks.
I didn't know that VSCodium doesn't have the telemetry. Obviously, someone would just make builds without it if it did, anyway.
But my understanding is that you miss out on the plugin "store" thing. I suppose I could give it a shot if it's still easy to install the plugins manually. I still hate to give Microsoft any mind-share, though...
electricity-wizard · 2022-04-15 16:23
I tried doom emacs and for some reason changing init.el wouldn’t work. So I couldn’t add packages on top of doom.
crlsh · 2022-04-15 16:49
I don't dislike them, they're just unnecessary.
Michaelmrose · 2022-04-15 16:51
Doom generates init.el you are supposed to change its files.
wsppan · 2022-04-15 16:54
Great reply. I could have written this article as-is myself.
jacmoe · 2022-04-15 17:11
Aww, thank you for your kind words :)
electricity-wizard · 2022-04-15 17:22
Sure but I remember it had different syntax or something. I couldn’t figure it out and it became too much trouble
00-11 · 2022-04-15 17:22
> I recently thought I'd check out doom and see if it could work for me, but first thing I hit was I could not use the customize interface. I get the limitations of customize, but it makes things so much more discoverable and some configuration much easier than without. Doom did some things I didn't like and it wouldn't even let me use customize to work out what settings might control it. And so ended attempt #7 to adopt a curated config.
Why do they do that? How do they think that helps users?
Michaelmrose · 2022-04-15 17:25
Yes but you probably could have tried to at least read the documentation I mean Emacs itself isn't very useful if you don't read its docs.
electricity-wizard · 2022-04-15 17:38
I already had a good understanding of emacs. The fact that doom breaks normal configuration is a no go for me. I didn’t want to RTFM for doom because the end result wasn’t worth it.
It’s fine if you like doom. I’m not saying people shouldn’t use it. I’m just saying I don’t use it because it breaks normal configuration.
hcalves · 2022-04-15 17:41
I find most defaults quite okay, and it’s easy to change whatever I don’t like by default. I need only a few packages on top of the defaults too (mostly magit and some language modes).
masukomi · 2022-04-15 17:54
i was a HUGE vim fan. Wrote many articles explaining it's awesomeness, but i'm fully convinced that Doom Emacs is a significantly better solution overall. Neovim is better than vim, but Doom gives me all the vim stuff i care about + access to all the amazing emacs packages. Yes, there are tons of good vim packages but they're way more restricted in terms of what's possible, and as a result the emacs folks have just made way cooler / more useful stuff.
masukomi · 2022-04-15 17:55
startup times were an annoyance for me too until i learned i could just start it up as a server and have instant loads every time from then until i restarted my computer.
oceanlessfreediver · 2022-04-15 18:55
I tried doom and spacemacs after years of vanilla eMacs. I was procrastinating on building a more homogeneous systems with advanced feature (ctrl-p of sublime text, helm related stuff, other qol stuff), and I thought distros would help. I did enjoy the sleek default, but two things made me go back to vanilla pretty fast : 1) it is not as easy to google a solution to your config problem, 2) it was definitely slower and I couldn’t tell if it was bloat or just due to work load.
shizzy0 · 2022-04-15 20:31
I used Emacs with a hefty config built up over, maybe 15 years? I declared Emacs bankruptcy and tried Spacemacs—really liked it. Ported only my most precious functions from my old config. Love that space leader key, even went to evil keybindings. Stuck with that for years and years.
Then I tried to upgrade to the latest Spacemacs develop branch, which I’d done many times but it didn’t work. So I figured I’d take doom for a spin. I like doom. I’ve been using it ever since.
In hindsight Spacemacs’ layers seem overly complicated. I don’t get them. Doom has a lot convenience functions but it doesn’t feel like it wants to rewrap the old like Spacemacs does. One thing I miss from Spacemacs is the local leader key “,”. For instance in org-mode on a checklist item, you hit , , and it toggles the check mark.
Doom has this binary outside of emacs which you sometimes need to run to sync or upgrade. Feels a little un-Emacsy. But it does load fast!
shizzy0 · 2022-04-15 20:40
Yeah, lack of customize is definitely something I miss. Makes me appreciate Spacemacs on that score.
ftrx · 2022-04-15 20:49
Personally I dislike the idea of "distro", I agree that Emacs defaults are obsolete for modern public, simply it look ugly. When I first encountered Emacs I quit in few minutes even if I'm coming from a decades long unix background, to my once newcomer eyes Emacs was a slow utter monster. Only when I see a configured Emacs in action many years later I completely change my opinion and study enough to arrive to my first config.
I do not want a distro because configuring Emacs is easy, but fragile business so why trying to adapt myself to someone else Emacs that at a certain point in time will go bankruptcy anyway? At least if I have my own config I know where to look. At least if I'm using Emacs seriously and something goes wrong I have the needed knowledge to act because I've learned enough to configure Emacs to the point I'm in.
That's is. Some try Doom for instance, "oh, wow nice" jumping the ship, at a certain point in time something happen. They are now in Emacs and they are lost, because they lack enough knowledge even to know how to properly ask for help...
Personally I consider Emacs an operating system that unfortunately demand a really complex bootloader, the main values of Emacs are total integration and flexibility, witch means that to use Emacs with profit we need our Emacs witch is very similar to any other but it's our one. Without that, an Emacs like a classic modern application is like having a Pagani (the most expensive sport car in the world) to go to the grocery store nearby having just learned a bit how to drive a car.
ryuiro-kitsune · 2022-04-15 21:48
Honestly, from a Doom Emacs point of view, I want more documentation on how to expand it without breaking things.
I want to add packages but there isn't a whole lot written on *Doom* itself and a ton on *Emacs* so I've elected to slowly migrate to my own config independent of Doom.
grewil · 2022-04-16 06:02
My conf is a fragile card house which breaks often, but at least I built it and have a chance of fixing it. Using a big conf that someone else has made would mean a harder repair process.
frozeninfate · 2022-04-16 10:28
My experience was different, though i do not like use-package and etc.
I do nonetheless appreciate doom; its code is very easy to borrow from to replicate the performance tweaks.
elphoeniks · 2022-04-16 17:11
Emacs from scratch is a great series. I felt less overwhelmed by Emacs when I started watching it.
10leej · 2022-04-16 18:39
Coming from Doom to vanilla emacs I can say that you lose a lot on the speed of regular emacs, while having a kitchen full of things your likely never using.
I literally just use org mode and maybe hack on a shell script. I don't really need everything doom emacs provides.
hyperbling · 2022-04-16 20:22
different strokes for different folks.
you don't actually need that many packages to create a very powerful setup.
1) pick a completion system: ido, ivy, helm, selectrum
2) pick an auto complete package: company, auto-complete
3) pick a project manager: projectile, project.el
4) pick a version control manager: magit, vc
5) pick the major mode + supporting tools for your language.
for some packages like helm or magit, you could spend days reading the docs and still not learn everything they can do.
so for me, i like to learn about what a package can do before adding it to my setup.
MunsterPlop · 2022-04-19 12:46
I do feel you would get more satisfaction out of neovim. It does require some tinkering to get running but not nearly as much as emacs. Also, Lua is quite easy to learn.
As for a magit alternative in nvim, lazygit in a floaterm is pretty damn good.
MunsterPlop · 2022-04-19 12:55
I really enjoyed doom when I was using it, but eventually I do like the idea of mastering my tools and such a big framework is pretty overwhelming when you want to understand how things work.
Vanilla emacs is already huge but it's much easier to learn the main concepts behind it (at least in my case).
I like adding and tweaking things progressively as I actually need them rather than potentially needing them at some point.
Though sometimes I am also guilty of trying a package because it looks cool and because it's fun to tinker, but in the end, removing the fat is what I prefer.
The most satisfying thing with emacs is when you come across a pain point in your workflow and you're able to, most of the time, use a bit of elisp and get exactly what you want without even having to restart the editor.
davemq · 2022-04-19 18:05
I tried Doom, learned some things, but disagreed with the choices made by Doom w.r.t. defaults and key bindings, particularly as a very experienced Emacs user *not* coming from vi (though I know vi just fine)
davemq · 2022-04-19 18:08
There were also things that just broke on Doom, and I had no idea how to fix them. With vanilla Emacs I could make them work.
LordOfSwines · 2022-04-21 15:02
There is no "machinery" that makes Doom any faster than not using Doom, all they do is tweak the gc somewhat. Which is like 3 loc to your early-init.el file.
The rest is just lazy loading of packages which you can do just as well yourself or use 'use-package' which can do it for you. My Emacs startup is around 0.5 seconds ([video](https://www.youtube.com/watch?v=8Z6XaVLW36c)) (gccEmacs)
jacmoe · 2022-04-21 15:44
You are talking out of your arse. If you don't believe me, then read what Jethro Kuan wrote in his blog post, or look at the Doom-Emacs code.
I was using use-package lazy loading years before I switched to Doom-Emacs. There's a bit more to it than that :)
It's funny because I actually accidentally eagerly loaded all my extra packages because I assumed that their `use-package! ` macro would lazy-load by default, but no. It was still about twice as fast as my old configuration.
Also, half a second? If you are running an Emacs client, then that sounds normal. Or a bog standard vanilla configuration.
LordOfSwines · 2022-04-21 18:34
I did read the post before responding and it contains zero details, just:
>When I first loaded Doom, I was surprised at how much faster it was in terms of responsiveness and load speed.
I have looked at the Doom-Emacs code, they don't ship a different binary so it's all just elisp, elisp you can write yourself.
I'm not using emacsclient.
Native comp, gc-tweaks and lazy-loading.
​
>Or a bog standard vanilla configuration.
My Emacs config most definitely contain less code than what you get with DOOM that's very true.
I'm not hating on DOOM but I keep seeing "DOOM is faster" thrown around and that's simply false. Your non doom config can be just as fast.
jacmoe · 2022-04-21 20:31
No one claims that we can't replicate what Henrik Lissner has done. All I am saying is that it is faster, more stable, and better than anything I am able to do myself. So, why not leverage that? :)
LordOfSwines · 2022-04-22 11:21
It's a great project but I personally have no need for all the things it comes with. I have provided a video in my original reply if you want to be convinced of the startup speed claims.
jacmoe · 2022-04-22 13:31
That's some solid Emacs-fu there!
The spirit of Emacs is to tailor it exactly how we want it. I do this on top of Doom-Emacs, you don't, and everything is well in the world :)
LordOfSwines · 2022-06-05 14:20
Just to give you an update (you probably don't care) but I trimmed the startup down from 0.56 seconds at seen in the video down to 0.14 seconds by setting fonts differently.
bolsen80 · 2022-07-21 08:20
I have never invested much into learning Emacs Lisp except only to get by, but I think this is going to change a bit. I started with my own config years ago, switched to Prelude and then thought Doom was pretty good to not worry too much about configurations. My days of working heavily in Emacs sort of declined a bit, until now, so there are certain things that started to stick out. Since my recent memory is with Doom, the things that really stuck out was
- It never bothered me because I switched it immediately, but I don't know why these Emacs distributions biggest opinion is that using Vim keybindings is the way to go. Is it an Emacs pinky thing? The only thing I do every time setting up a computer is to switch Caps Lock to Control. It's perfectly fine for me.
- org-mode configurations in Doom acts different than the default and its frustrating. Going back to plain org-mode was a relief, tbh.
- I don't like its popup manager and conflicts sometimes with golden-ratio-mode. Sometimes pop-ups get stuck.
- I am not fond of the default strategy of how it creates new windows for certain tasks, always doing a (split-window-right).
- I don't like the built-in choices for some LSP servers (the Python choices from Microsoft need some QA work - I always have problems with them firing up my CPUs for no reason). This is not exactly a Doom problem, but it puts me in a jam of how much time to put into getting anaconda-mode to work again. (Prelude configures anaconda-mode ... :D )
- It does some interesting things, like (use-package!) but there are simpler was to handle that (Prelude implements a simpler function just for downloading packages that are "required", which is good enough.)
I decided yesterday getting frustrated after opening up someone's tiny amount of Python code and feeling my computer getting hot. I confirmed it was in fact the LSP server that was using 100% of my CPU. I dug up my old Prelude installation, got it updated, and at least for yesterday, I felt a bit back home.
I think Doom is great, but my long muscle memory and expectations on how Emacs should work are better to me. I might go further down the line and minimalize even more (I am reminded here about the Emacs from scratch thing) and finally get a little better at elisp.