Hello,
This is what theme generator plugins try to do : provide default faces and an API that allows users to define a theme by only specifying a set of colors and a set of overrides (if you want function-related faces to be "accent3" instead of "accent1").
>The 16-colour palette that has to work on both light and dark
>backgrounds is a constraint that Emacs' defface can circumvent. An
>excerpt from 'M-x find-library faces':
>
>(defface link
> '((((class color) (min-colors 88) (background light))
> :foreground "RoyalBlue3" :underline t)
> (((class color) (background light))
> :foreground "blue" :underline t)
> (((class color) (min-colors 88) (background dark))
> :foreground "cyan1" :underline t)
> (((class color) (background dark))
> :foreground "cyan" :underline t)
> (t :inherit underline))
> "Basic face for unvisited links."
> :group 'basic-faces
> :version "22.1")
>
>If one really wants to keep it to 16 colours, then maintain two sets of
>them. One for dark, another for light. And keep accessibility in mind.
>
>
Could it be an idea to generalize the modus themes? They seem very comprehensive
Theodor Thornhill