(defun my/configure-theme () "Load theme and configure some faces." (interactive) ;; Set some font-lock faces to be italic (set-face-attribute 'font-lock-doc-face nil :slant 'italic) (set-face-attribute 'font-lock-comment-face nil :slant 'italic) (set-face-attribute 'font-lock-comment-delimiter-face nil :slant 'italic) ;; Change outline headers to follow rainbow order (require 'outline) (when (boundp 'base16-stylix-theme-colors) (dolist (pairing '((outline-1 . :base08) (outline-2 . :base09) (outline-3 . :base0A) (outline-4 . :base0B) (outline-5 . :base0C) (outline-6 . :base0D) (outline-7 . :base0E) (outline-8 . :base0F))) (set-face-attribute (car pairing) nil :foreground (plist-get base16-stylix-theme-colors (cdr pairing)))) (require 'org-faces) ;; Lighten `org-agenda-clocking' background to be more legible. (set-face-attribute 'org-agenda-clocking nil :background (plist-get base16-stylix-theme-colors :base01)) ;; Set `org-hide' face to actually match background colour (set-face-attribute 'org-hide nil :foreground (plist-get base16-stylix-theme-colors :base00)) (with-eval-after-load 'org-noter (set-face-attribute 'org-noter-no-notes-exist-face nil :foreground (plist-get base16-stylix-theme-colors :base08)) (set-face-attribute 'org-noter-notes-exist-face nil :foreground (plist-get base16-stylix-theme-colors :base0B)))) ) (with-eval-after-load 'base16-theme (require 'server) (add-hook 'after-init-hook (lambda () (my/configure-theme))) (add-hook 'server-after-make-frame-hook (lambda () (my/configure-theme))))