I am trying to modify a few faces for a specific doom-theme
in Doom Emacs.
I am only interested in an emacs-lisp
solution, I do not want to customize via the dedicated Emacs interface.
I got the basis for my approach from this thread. I managed to get it working as intended for org-tag
face, but org-level-n
attempts have no effect whatsoever.
Usually in Doom Emacs, it is a matter of loading sequence when customization has no effect and the solution comes from identifying the correct hook/mode/package after which executing your code.
But what gets me stuck is that both faces I am trying to change are defined in the same module (org-faces.el
if I remember correctly). So I am out of ideas as how to investigate further.
This is what I am using in my config.el
:
(defun customize-doom-dark+ ()
"Customize doom-dark+ theme"
(if (member 'doom-dark+ custom-enabled-themes)
(custom-theme-set-faces
'doom-dark+
;; Attempt using complete property setting
'(org-level-3 ((t (:foreground "#66b4e3"
:weight bold))))
;; The ':inherit' approach I would rather use
'(org-level-4 ((t (:inherit outline-5))))
'(org-level-5 ((t (:inherit outline-6))))
'(org-level-6 ((t (:inherit outline-7))))
'(org-level-7 ((t (:inherit outline-1
:weight normal))))
'(org-level-8 ((t (:inherit outline-2
:weight normal))))
;; I also tried setting 'org-tag' with ':inherit org-footnote'
;; It works as intended
'(org-tag ((t (:foreground "#D9DAA2"
:weight normal))))
)))
(add-hook 'doom-load-theme-hook 'customize-doom-dark+)