Instead of manually just setting faces after loading a doom-themes
theme, let's use a custom override theme which we apply right after
applying any doom-themes theme.
The override theme uses various doom-color helpers, so the colors it
uses will be based on the most recently applied doom-themes theme.
I've been using doom-themes' doom-vibrant for long enough now that I'm
certain I won't be moving away from it anytime soon. So let's simplify
and strip away all other theme setup stuff.
Also create a new siren-display-line-numbers module and function that's
responsible for turning on the display of line numbers. Future changes
to how line numbers are displayed can now be done in a single place.
All siren modules lazy-load if they can, so there's no need to
lazy-require a siren module.
Also this avoids the annoyance of the first time you use a feature
it triggers a package install from melpa. All such things should
happen as part of Emacs startup.
I've taken a lot of inspiration from Emacs-Prelude when it came to the
structure of this rewritten config. I didn't want to use Prelude as I
don't agree with all it's defaults, nor do I want to have to deal with
any future changes in Prelude that might break things for me. So instead
I went down the fully custom path, but heavily inspired by Prelude, both
in terms of file/code structure, and also some of it's features.
Compared to my old config setup, it's got most of the same things, but
nearly everything is in a module file now, making it easy to fully
enable/disable certain features.