summaryrefslogtreecommitdiff
path: root/emacs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--emacs/custom/my-packages.el3
-rw-r--r--emacs/custom/my-ui.el52
2 files changed, 51 insertions, 4 deletions
diff --git a/emacs/custom/my-packages.el b/emacs/custom/my-packages.el
index da5263b..87d15d9 100644
--- a/emacs/custom/my-packages.el
+++ b/emacs/custom/my-packages.el
@@ -7,6 +7,9 @@
(require 'straight)
+;; packages related to themes
+(straight-use-package 'ef-themes)
+
;; packages needed for LSP
(straight-use-package 'eglot)
diff --git a/emacs/custom/my-ui.el b/emacs/custom/my-ui.el
index 6076c3f..9dc0802 100644
--- a/emacs/custom/my-ui.el
+++ b/emacs/custom/my-ui.el
@@ -21,15 +21,59 @@
(setq mac-allow-anti-aliasing t)))
(when (memq window-system '(x pgtk))
- ;; if using `set-frame-font`, when opening a new frame with
- ;; emacsclient, the font will not be used. Instead, use
- ;; `default-frame-alist` to have the same font with emacsclient.
- (add-to-list 'default-frame-alist '(font . "Source Code Pro-11"))
+ (set-face-attribute 'default nil :font "Iosevka Term Extended" :height 130)
+ (set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height 130)
;; this is a fall back in the case we have Unicode characters.
;; For example, with this settings, the following source is
;; rendered correctly 😇 😀 and 🤢
(set-fontset-font t 'symbol "Noto Color Emoji" nil 'append))
+;; Load a custom theme
+(eval-and-compile
+ (require 'modus-themes nil t)
+ (setq modus-themes-syntax '(faint)
+ modus-themes-links '(bold)
+ modus-themes-fringes '(intense)
+ modus-themes-markup '(bold intense background)
+ modus-themes-italic-constructs t
+ modus-themes-lang-checkers '(background)
+ modus-themes-org-blocks 'gray-background
+ modus-themes-headings '((1 . (background 1))
+ (2 . (rainbow semibold 1))
+ (t . (bold)))
+ modus-themes-completions '((matches . (extrabold intense))
+ (selection . (semibold intense))
+ (popup . (extrabold intense)))
+ modus-themes-operandi-color-overrides '((bg-main . "#f2efe4"))))
+
+(eval-and-compile
+ (require 'ef-themes)
+ (setq ef-themes-to-toggle '(ef-duo-light ef-duo-dark))
+ ;; set the typeface for headers
+ (setq ef-themes-headings
+ '((0 . (variable-pitch bold 1.4))
+ (1 . (variable-pitch bold 1.3))
+ (2 . (variable-pitch regular 1.2))
+ (3 . (variable-pitch italic 1.1))
+ (t . (variable-pitch 1.1))))
+
+ ;; enable using variable pitch fonts for some part of the UI
+ (setq ef-themes-mixed-fonts t
+ ef-themes-variable-pitch-ui t)
+
+ ;; Read the doc string or manual for this one. The symbols can be
+ ;; combined in any order.
+ (setq ef-themes-region '(intense no-extend neutral))
+
+ ;; Disable all other themes to avoid awkward blending:
+ (mapc #'disable-theme custom-enabled-themes)
+
+ ;; Load the theme of choice:
+ (load-theme 'ef-duo-light :no-confirm)
+
+ ;; OR use this to load the theme which also calls `ef-themes-post-load-hook':
+ (ef-themes-select 'ef-duo-light))
+
(customize-set-variable 'display-time-24hr-format t)
(customize-set-variable 'display-time-day-and-date t)
(customize-set-variable 'display-time-format "%a %e %b, %H:%M")