I've been dabbling with emacs for a number of years now, and I felt that my init/config file was pretty hefty at (currently an all-time high of) 186 lines. Then a few years ago I encountered Sacha's and my mouth literally dropped. I've always wanted to ask, and here's as good a place as any. Is her config an outlier in its size and breadth? I feel like it almost has to be.
I've been using Emacs for ~15 years and my configuration is more than 20k lines of code that I've personally written plus
comments. Occasionally, I will factor out parts of my config and release them as Emacs Lisp libraries.
I would expect any heavy Emacs user, fully immersed in the Emacs-is-an-extensible-environment paradigm to operate in similar fashion.
If you live in Emacs and interacting with it every day there is always something to tweak and it just grows organically. I don't think a big config file is an outlier. Not because it's necessary but simply because it's so much fun to scratch a small itch with a few lines of elisp which you couldn't do in other editors.
My config[0] for example is 10k lines with >1k commits.
Ten years and just north of 1,000 lines of self-written code; 1,500 if you count the ~300 lines of custom.el and ~200 for a hastily copy/pasted copy of find-dired hacked to do Spotlight searches.
To be fair, I try to go through it every year or two and mercilessly cull everything I haven't recently used, and refactor what I do; including everything that has been in my init at some point or another would easily double, and possibly even triple, this number.
Keep in mind the org stuff makes that config file look much bigger than it really is.
Though, 186 does sound surprisingly low if this is truly just 186 lines applied to vanilla Emacs.
My bindings file is a little over 200 (one binding per line). custom-set-variables block is 170.
Total across a few files is around 3-4k. But some of that is config code, patches/modified versions of functions from other packages and simple wrappers. It accrues rather easily. Actual original code that does something non-trivial is probably below 1k.
Mine is about 6 months old, after I switched from Spacemacs to Vanilla Emacs. Currently wc says there are 487 lines in init.el, and 37 in custom.el.
I don't do the org-babel->tangle->init.el thing (yet?). That would probably triple the amount of text involved.
I do have a bunch of nice-to-have todo items that would mean writing code for my Emacs instance. If I had to guess I'd say it would add another 1,000 to 2,000 lines somewhere.
I also share my config between 3 different operating systems; Mac, Windows, and Linux. So a small amount of those lines are just "(when os-is-mac)(when os-is-win)(when os-is-gnu)" choices.
Your config should be as big as you need it to be. I’ve been using Emacs for 20 years and I tend to use features with default keybindings and stick to a small number. There’s no right way to do it