;;; -*- lexical-binding: t; -*- ;;; Commentary: ;;; Code: ;; variable-pitch fonts (defun bd/enable-variable-pitch-exempt () "Text modes to exempt from variable pitch fonts." (unless (derived-mode-p 'latex-mode 'mhtml-mode 'nxml-mode 'yaml-mode) (variable-pitch-mode 1))) (defvar bd/enable-variable-pitch-in-hooks '(text-mode-hook) "List of hook symbols to add `variable-pitch-mode' to.") (mapc (lambda (hook) (add-hook hook #'bd/enable-variable-pitch-exempt)) bd/enable-variable-pitch-in-hooks) (set-face-attribute 'variable-pitch nil :family "Dejavu Math TeX Gyre" :height 110) (set-face-attribute 'fixed-pitch nil :family "Terminus" :height 110) (set-face-attribute 'default nil :family "Terminus" :height 120) ;;;; colors (use-package modus-themes :load-path (lambda () (expand-file-name "themes/" data-directory)) :demand t :config ;; Disable all other themes to avoid awkward blending: (mapc #'disable-theme custom-enabled-themes) :custom (modus-themes-mixed-fonts t) (modus-themes-italic-constructs t) (modus-themes-tabs-accented nil) (modus-themes-bold-constructs t) (modus-themes-subtle-line-numbers t) (modus-themes-variable-pitch-ui nil) (modus-themes-mode-line '(borderless accented)) (modus-themes-org-blocks 'grayscale) (modus-themes-markup '(background intense)) (modus-themes-region '(bg-only)) (modus-themes-headings '((0 rainbow variable-pitch bold 1.5) (1 rainbow variable-pitch bold 1.4) (2 rainbow variable-pitch regular 1.3) (3 rainbow variable-pitch regular 1.1) (t rainbow variable-pitch regular 1.0))) (modus-themes-vivendi-color-overrides (mapcar (lambda (x) (cons (car x) (alist-get (cdr x) modus-themes-vivendi-colors))) '((bg-dim . bg-main) (bg-alt . bg-inactive) (bg-tab-bar . bg-main) (bg-tab-current . bg-active) (bg-tab-other . bg-inactive))))) (load-theme 'modus-vivendi :no-confirm) (run-hooks 'modus-themes-post-load-hook) (provide 'bd--themes) ;;; bd-themes ends here