News for hackers. Stuff that matters.
Re:Emacs and shellcheck by bo-tato on Friday October 06, 2023 @09:04PM (#37798144)
And why I love doom emacs, it's almost like vscode in ease of getting set up for different languages. There's a init.el file with a :lang section where you can uncomment languages to enable them. Support for sh is enabled by default, and if shellcheck is installed it will use it without you having to customize anything. It's all the hackability of emacs when you want, but also just good defaults so everyone doesn't have to spend time configuring the same basic functionality.
Re:Emacs and shellcheck by fiddlerwoaroof on Friday October 06, 2023 @09:46PM (#37798346)
I personally find that configuring vanilla emacs isn’t that scary. evil-mode + evil-collection provide most of the hard part of these distributions and I’ve found that growing from a minimal setup makes it easier to maintain your configuration than building on top of doom or spacemacs
Re:Emacs and shellcheck by soraminazuki on Saturday October 07, 2023 @10:01PM (#37807214)
Doom Emacs is minimal. You can configure it in pretty much the same way as vanilla Emacs without it getting in the way. I never felt my configuration was harder to maintain because of Doom. There are also modules you can enable that brings in a lot of packages, but they're purely optional. Personally, I find those modules to be sane and helpful.

Also, adding evil mode won't address half of my requirements for a baseline Emacs experience. There are performance optimizations in Doom that I wouldn't otherwise have known to put in my own configuration. I'm grateful there are people who are taking care of such details for users like me.

Normally, I avoid configuration frameworks. I don't use them in tmux, vim, or zsh. But Doom was the first configuration framework that I enjoyed using.

Re:Emacs and shellcheck by fiddlerwoaroof on Sunday October 08, 2023 @02:02AM (#37808201)
My configuration is 3k lines of lisp code (measured by cloc). Doom is about 44k. So, Doom's configuration is about 12 times large than mine and my configuration works for just about everything I need. Adding support for a new language is typically mostly figuring out how to get a language server and configuring eglot for it, then installing syntax-highlighting either via tree-sitter or with (use-package <language>-mode :ensure t). Addtitionally, just skimming doom's early-init.el[1], it makes a lot of questionable choices (like requiring the use of `doom sync` for stuff emacs just does by itself).

[1]: https://github.com/doomemacs/doomemacs/blob/master/early-ini...

Re:Emacs and shellcheck by soraminazuki on Monday October 09, 2023 @03:07AM (#37817792)
That LOC comparison doesn't make sense. It's 44k lines only if you enable every optional module, which no one ever does. On top of that, you're penalizing Doom for having better documentation by counting docstrings. Docstrings account for a large portion of Doom Emacs code.

Also, there are loads of people who need the things you found questionable or unnecessary. Including myself. I use modules for purposes other than adding support for new languages. But for language support, I sometimes need much more than just the first language server and syntax files that came up in a search result. The performance optimization you found questionable is an absolute must, too. Running "doom sync" to apply changes to configuration is a non-issue if that means faster startup.

Re:Emacs and shellcheck by softirq on Friday October 06, 2023 @09:53PM (#37798368)
What's so hard about adding 5 lines to a config file? You're adding 100s of customizations that slow down emacs when you probably use a handful of them at most.
Re:Emacs and shellcheck by tra3 on Friday October 06, 2023 @11:29PM (#37798796)
Sometimes packages don’t come with sane defaults. Or something conflicts somewhere. Im tempted to plunder doom config, but I suspect it’s not straight forward.
Re:Emacs and shellcheck by dingnuts on Friday October 06, 2023 @11:58PM (#37798894)
It's not bad actually, I have plundered a number of things from Doom
Re:Emacs and shellcheck by rgoulter on Saturday October 07, 2023 @12:27AM (#37799020)
> You're adding 100s of customizations that slow down emacs

Doom Emacs' config loads faster than my hand-rolled one did.

So in that sense, with Doom I get a smaller config to maintain, for something that loads faster, while still having a rich/coherent set of features for the stuff I do bump into.

Re:Emacs and shellcheck by TeMPOraL on Saturday October 07, 2023 @04:59AM (#37800186)
> Doom Emacs' config loads faster than my hand-rolled one did.

Having browsed the Doom config sources the other day, they put a lot of effort to minimize startup time; there are various trick there that tune Emacs itself to start faster, and can be copied over to one's own vanilla config :).

Re:Emacs and shellcheck by sph on Saturday October 07, 2023 @04:34AM (#37800059)
I'd love doom emacs if it was an opinionated distro. Supporting competing alternatives for many packages means targeting a common denominator, and having a more buggy and fragile product than it has a right to be.

So the advantage of having someone else optimise a config is lost because most effort is spent supporting tons of optional packages. Meanwhile my hand written config is the definition of opinionated.