reddit / emacs

Single file, minimal emacs config that rivals an IDE

SEgopher · 2022-10-06 21:51
There are minimal configs for people who don't like bells and whistles, and here are distros with tons of elisp files. I would like to see a single file config that is understandable and sets up most of the stuff you'd expect from VSCode or an IDE. The reason I'm asking is to show some non-Emacs folks a config that uses packages to really add some power while proving that it doesn't take forever to create an Emacs config that does a lot.
nv-elisp · 2022-10-06 21:55
> most of the stuff you'd expect from VSCode or an IDE. Be specific.
anaumann · 2022-10-06 22:02
>The reason I'm asking is to show some non-Emacs folks a config that uses packages to really add some power while proving that it doesn't take forever to create an Emacs config that does a lot. If it doesn't take forever, why not create one yourself ;) And I really think that it doesn't take all that long.
artyhedgehog · 2022-10-06 23:02
I'm not sure that's... How to put it?... Viable? Even for modern VSCode to provide IDE-like experience you'll need a bunch of plugins specific to your tasks. To work in emacs efficiently you'll need tons of packages and configuring them combined together on a sensible manner - and again in task-specific set. To my humble experience (as someone being used to working in a modern IDE and just recently hopped in emacs) the best bet for a newcomer is Doom Emacs. You just select active "modules" from the list provided by doom - and indeed receive rich IDE'ish experience out of the box with minimal of _your own_ config.
anaumann · 2022-10-06 23:59
With a bit of use-package or straight.el, you can keep the manual installation of packages to a minimum and have everything else installed automatically as part of your emacs configuration.. Most of the time, some bootstrapping is ok for any IDE.. you have to configure git and code styles and things anyway.. It just shouldn't take all day to get your code editor barely working :)
doloresumbridge42 · 2022-10-07 04:47
You can use this to generate a single file config. https://git.sr.ht/~pkal/ecg
mm007emko · 2022-10-07 10:21
In that case roll your own minimalistic config. Check the needs of the people you want to impress. For me it's a config which installs automagically packages I need, then: company, company-quickhelp, helm, highlight-symbol, hydra, rainbow-delimiters, which-key. Then a theme and language-specific packages. Plus some keyboard settings for actions I use the most. Of course at the beginning I disable toolbar, set font, enable mouse through xterm (yes, I sometimes use Emacs over an ssh session in tmux) etc. I consider this pretty minimalistic since I don't need another Eclipse.
cellular--automaton · 2022-10-07 12:13
Why lie to your friends?
DefiantAverage1 · 2022-10-07 12:58
Doom emacs with the out of the box defaults but with +lsp turned on (in init.el) for whichever language you want.
Falcomomo · 2022-10-07 13:17
System Crafters did an emacs as IDE series on YouTube and put the config file on their github. I used it as a base for my config recently and it's great.
kamui78 · 2022-10-07 15:59
I passionately tried to convert my coworkers and friends to GNU/Linux and vim. My coworkers laughed saying that vim was irrelevant and GNU/Linux was for servers only. Over the time I internalized my values and stopped spreading them. People who are interested will learn. If you need to convince your friends that Emacs is something they need then they do not need it. Or better, they do not have the mindset for it. Let them use what works for them and don't waste your time. Emacs is a wonderful platform, but only if your friends are willing to learn about it. If they do not want to spend time on it then they are better off with some IDE.
FreeAd7233 · 2022-10-09 17:02
Don’t take Doomemacs as an example, it is an extremely complicated monster. The most powerful one of course, but also has many abstraction layers. But there are other’s config which is powerful but not too engineered. For example, centaur emacs, redguardtoo’s config , purcell’s config, although they are not single file, but the structure of their config is pretty plain, don’t contain much abstract layer, it is very easy to go though their code and directly modify on it.