nixos/system/home/emacs/extraConfig.el
Evie Litherland-Smith 5b9f7e1e11 Emacs: use stylix to customise base16-theme package
Add my custom modifications from README.el to extraConfig.el
2024-11-25 07:44:01 +00:00

43 lines
1.9 KiB
EmacsLisp

(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))))