summaryrefslogtreecommitdiff
path: root/.emacs.d
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@gmail.com>2025-01-25 18:50:15 +0100
committerKévin Le Gouguec <kevin.legouguec@gmail.com>2025-01-25 18:50:15 +0100
commitbb40f54627d7f777810957a1c5306aedfbbdd38b (patch)
treea03d8fda8c79534c067c63225f9d6ef5cd7424d5 /.emacs.d
parenta8924d1fa1e2ce5f921d3aa54bd3205a6ff3f5b7 (diff)
downloaddotfiles-bb40f54627d7f777810957a1c5306aedfbbdd38b.tar.xz
Achieve XDG compliance
… sort of. Emacs apps will stuff all manner of transient state under user-emacs-directory by default, so full XDG compliance would probably involve customizing them all to instead use ~/.cache but 🤷
Diffstat (limited to '.emacs.d')
-rw-r--r--.emacs.d/eighters-theme.el600
-rw-r--r--.emacs.d/icons/compilation-failure.pngbin124293 -> 0 bytes
-rw-r--r--.emacs.d/icons/compilation-success.pngbin269969 -> 0 bytes
3 files changed, 0 insertions, 600 deletions
diff --git a/.emacs.d/eighters-theme.el b/.emacs.d/eighters-theme.el
deleted file mode 100644
index d81a070..0000000
--- a/.emacs.d/eighters-theme.el
+++ /dev/null
@@ -1,600 +0,0 @@
-;; -*- lexical-binding: t -*-
-
-(require 'color)
-(require 'compile) ; compilation-*-directory-face
-(require-theme 'modus-themes)
-
-(deftheme eighters
- "Eighters gonna eight.")
-
-(defun eighters-hsl-to-hex (h s l)
- (apply
- 'color-rgb-to-hex
- `(,@(color-hsl-to-rgb h s l) 2)))
-
-(defun eighters-decline-hue (name light-step)
- (interactive
- (list (read-color "Color to decline? ")
- (read-number "Light step? (1–100) ")))
- (pcase-let* ((`(,r ,g ,b) (color-name-to-rgb name))
- (`(,h _ _) (color-rgb-to-hsl r g b)))
- (let ((variants (seq-map
- (lambda (l)
- (cons l (eighters-hsl-to-hex h 1.0 (/ l 100.0))))
- (number-sequence 0 100 light-step)))
- (buf (format "*%s variants*" name)))
- (with-current-buffer (get-buffer-create buf)
- (pcase-dolist (`(,l . ,hex) variants)
- (let ((cr (modus-themes-contrast "#fff" hex)))
- (when (> cr 7.0)
- (insert
- (propertize (format "%s %3s\t%6.3f\n" hex l cr)
- 'face `(:background ,hex :extend t))))))
- (pcase-dolist (`(,l . ,hex) variants)
- (let ((cr (modus-themes-contrast "#000" hex)))
- (when (> cr 7.0)
- (insert
- (propertize (format "%s %3s\t%6.3f\n" hex l cr)
- 'face `(:foreground ,hex)))))))
- (pop-to-buffer buf))))
-
-(defvar eighters-hues
- '((red . "brown2")
- (green . "chartreuse2")
- (yellow . "gold")
- (blue . "steelblue1")
- (magenta . "violet")
- (cyan . "cadetblue2")))
-
-(defvar eighters-palette
- '((bg "#000") (bg-hl-dimmer "#0f0f0f") (bg-hl-dim "#181818") (bg-hl "#222")
- (fg-red "#ed5e5e") (fg-red-dim "#ba5e5e") (fg-red-subtle "#f4a3a3")
- (bg-red "#4c0000") (bg-red-dim "#300000") (bg-red-dimmer "#1e0000")
- (fg-green "#a5ed5e") (fg-green-dim "#8bba5e") (fg-green-subtle "#cbf4a3")
- (bg-green "#122600") (bg-green-dim "#0b1600") (bg-green-dimmer "#060c00")
- (fg-yellow "#edd65e") (fg-yellow-dim "#baab5e") (fg-yellow-subtle "#f4e8a3")
- (bg-yellow "#262000") (bg-yellow-dim "#161300") (bg-yellow-dimmer "#0c0a00")
- (fg-blue "#5eaced") (fg-blue-dim "#5e90ba") (fg-blue-subtle "#a3cff4")
- (bg-blue "#00223f") (bg-blue-dim "#001426") (bg-blue-dimmer "#000b14")
- (fg-magenta "#ed5eed") (fg-magenta-dim "#ba5eba") (fg-magenta-subtle "#f4a3f4")
- (bg-magenta "#420042") (bg-magenta-dim "#280028") (bg-magenta-dimmer "#190019")
- (fg-cyan "#5edfed") (fg-cyan-dim "#5eb1ba") (fg-cyan-subtle "#a3edf4")
- (bg-cyan "#002428") (bg-cyan-dim "#001416") (bg-cyan-dimmer "#000b0c")
- (fg "#fff") (fg-dim "#bbb") (fg-dimmer "#888")))
-
-(defun eighters--step-while (init step predicate)
- (let ((result init)
- (next init))
- (while (funcall predicate (cl-incf next step))
- (setq result next))
- result))
-
-(defun eighters--brightest-bg (hue contrast-min)
- (eighters-hsl-to-hex
- hue 1
- (eighters--step-while
- 0 .005
- (lambda (luminance)
- (let ((candidate (eighters-hsl-to-hex hue 1 luminance)))
- (> (modus-themes-contrast "#fff" candidate) contrast-min))))))
-
-(defun eighters-set-palette ()
- (interactive)
- (pcase-dolist (`(,hue-sym . ,hue-name) eighters-hues)
- (let ((hue (car (apply 'color-rgb-to-hsl (color-name-to-rgb hue-name)))))
- (setf
- (eighters-color 'fg hue-sym nil) (eighters-hsl-to-hex hue .8 .65)
- (eighters-color 'fg hue-sym 'dim) (eighters-hsl-to-hex hue .4 .55)
- (eighters-color 'fg hue-sym 'subtle) (eighters-hsl-to-hex hue .8 .8)
- (eighters-color 'bg hue-sym nil) (eighters--brightest-bg hue 16)
- (eighters-color 'bg hue-sym 'dim) (eighters--brightest-bg hue 18.5)
- (eighters-color 'bg hue-sym 'dimmer) (eighters--brightest-bg hue 19.75))))
- (load-theme 'eighters t))
-
-(defun eighters-showcase--insert (&rest _)
- (erase-buffer)
- (pcase-dolist (`(,sym ,color)
- eighters-palette)
- (pcase-let* ((`(,r ,g ,b) (color-name-to-rgb color))
- (`(,h ,s ,l) (color-rgb-to-hsl r g b)))
- (let (bg fg face)
- (if (string-prefix-p "fg" (symbol-name sym))
- (setq fg color
- bg "#000")
- (setq bg color
- fg "#fff"))
- (setq face `(:foreground ,fg :background ,bg :extend t))
- (insert
- (propertize (format "%-16s\t(%.3f %.3f %.3f) (%.3f %.3f %.3f)\t\t%.3f\n"
- sym r g b h s l (modus-themes-contrast fg bg))
- 'face face))))))
-
-(defun eighters-showcase ()
- (interactive)
- (let ((buf (get-buffer-create "*Eighters palette*")))
- (with-current-buffer buf
- (eighters-showcase--insert)
- (setq-local revert-buffer-function 'eighters-showcase--insert)
- (pop-to-buffer buf))))
-
-(defun eighters-serialize ()
- (interactive)
- (let ((blacks '(bg bg-hl-dimmer bg-hl-dim bg-hl))
- (colors '(red green yellow blue magenta cyan))
- (whites '(fg fg-dim fg-dimmer))
- (beg (point))
- (format-sym
- (lambda (sym)
- (format "(%s \"%s\")"
- sym (car (alist-get sym eighters-palette))))))
- (insert
- "(defvar eighters-palette\n'("
- (string-join (seq-map format-sym blacks) " ")
- "\n")
- (let ((beg (point)))
- (dolist (hue colors)
- (dolist (template '("fg-%s" "fg-%s-dim" "fg-%s-subtle"))
- (insert (funcall format-sym (intern (format template hue)))))
- (insert "\n")
- (dolist (template '("bg-%s" "bg-%s-dim" "bg-%s-dimmer"))
- (insert (funcall format-sym (intern (format template hue)))))
- (insert "\n"))
- (align-regexp beg (point) "\\(\\s-*\\)\\(\"[^)]\\|(\\)" 1 1 t))
- (insert
- (string-join (seq-map format-sym whites) " ")
- "))\n")
- (indent-region beg (point))))
-
-(defun eighters-color (symbol)
- (car (alist-get symbol eighters-palette)))
-
-(defun eighters--sym (xground hue qualifier)
- (intern
- (apply 'concat `( ,(symbol-name xground) "-"
- ,(symbol-name hue)
- ,@(when qualifier `("-" ,(symbol-name qualifier)))))))
-
-(defun eighters-color-set (xground hue qualifier value)
- (let ((sym (eighters--sym xground hue qualifier)))
- (setf (car (alist-get sym eighters-palette)) value)))
-
-(gv-define-simple-setter eighters-color eighters-color-set)
-
-(defface eighters-button nil
- "Face for elements that can be \"pushed\" with RET.")
-(defface eighters-checkbox nil
- "Face for text that represents togglable boxes.")
-(defface eighters-citation-1 nil
- "Face for level 1 citations.")
-(defface eighters-citation-2 nil
- "Face for level 2 citations.")
-(defface eighters-citation-3 nil
- "Face for level 3 citations.")
-(defface eighters-citation-4 nil
- "Face for level 4 citations.")
-(defface eighters-citation-5 nil
- "Face for level 5 citations.")
-(defface eighters-citation-6 nil
- "Face for level 6 citations.")
-(defface eighters-date nil
- "Face for text that describes dates.")
-(defface eighters-identity nil
- "Face for names of persons.")
-(defface eighters-markup nil
- "Face for text that describes \"structure\" rather than content.")
-(defface eighters-metadata nil
- "Face for extra context surrounding something of interest.")
-(defface eighters-title-1 nil
- "Face for level 1 headings.")
-(defface eighters-title-2 nil
- "Face for level 2 headings.")
-(defface eighters-title-3 nil
- "Face for level 3 headings.")
-(defface eighters-title-4 nil
- "Face for level 4 headings.")
-(defface eighters-title-5 nil
- "Face for level 5 headings.")
-(defface eighters-title-6 nil
- "Face for level 6 headings.")
-(defface eighters-title-7 nil
- "Face for level 7 headings.")
-(defface eighters-title-8 nil
- "Face for level 8 headings.")
-(defface eighters-ui nil
- "Face for inalterable UI elements.")
-
-(defmacro eighters-with-palette (&rest body)
- `(let ,eighters-palette ,@body))
-
-(eighters-with-palette
- (custom-theme-set-faces
- 'eighters
-;;; Theme faces.
- `(eighters-button ((t (:background ,bg-hl-dimmer :box (:color ,bg-hl :style released-button) :inherit eighters-ui))))
- `(eighters-checkbox ((t (:background ,bg-hl-dim :foreground ,fg-blue-dim))))
- `(eighters-citation-1 ((t (:foreground ,fg-cyan-dim))))
- `(eighters-citation-2 ((t (:foreground ,fg-green-dim))))
- `(eighters-citation-3 ((t (:foreground ,fg-yellow-dim))))
- `(eighters-citation-4 ((t (:foreground ,fg-red-dim))))
- `(eighters-citation-5 ((t (:foreground ,fg-magenta-dim))))
- `(eighters-citation-6 ((t (:foreground ,fg-blue-dim))))
- `(eighters-date ((t (:foreground ,fg-magenta-dim))))
- `(eighters-identity ((t (:foreground ,fg-red-subtle))))
- `(eighters-markup ((t (:foreground ,fg-dim))))
- `(eighters-metadata ((t (:foreground ,fg-magenta-dim))))
- `(eighters-title-1 ((t (:foreground ,fg-cyan-subtle :weight bold :height 1.28 :inherit variable-pitch))))
- `(eighters-title-2 ((t (:foreground ,fg-green-subtle :weight bold :height 1.20 :inherit variable-pitch))))
- `(eighters-title-3 ((t (:foreground ,fg-yellow-subtle :weight bold :height 1.12 :inherit variable-pitch))))
- `(eighters-title-4 ((t (:foreground ,fg-red-subtle :weight bold :height 1.04 :inherit variable-pitch))))
- `(eighters-title-5 ((t (:foreground ,fg-magenta-subtle :weight bold :inherit variable-pitch))))
- `(eighters-title-6 ((t (:foreground ,fg-blue-subtle :weight bold :inherit variable-pitch))))
- `(eighters-title-7 ((t (:foreground ,fg-cyan-subtle :weight bold :inherit variable-pitch))))
- `(eighters-title-8 ((t (:foreground ,fg-green-subtle :weight bold :inherit variable-pitch))))
- `(eighters-ui ((t (:inherit variable-pitch))))
-;;; Standard faces.
- `(ansi-color-black ((t (:foreground ,bg :background ,bg))))
- `(ansi-color-red ((t (:foreground ,fg-red :background ,bg-red-dim))))
- `(ansi-color-green ((t (:foreground ,fg-green :background ,bg-green-dim))))
- `(ansi-color-yellow ((t (:foreground ,fg-yellow :background ,bg-yellow-dim))))
- `(ansi-color-blue ((t (:foreground ,fg-blue :background ,bg-blue-dim))))
- `(ansi-color-magenta ((t (:foreground ,fg-magenta :background ,bg-magenta-dim))))
- `(ansi-color-cyan ((t (:foreground ,fg-cyan :background ,bg-cyan-dim))))
- `(ansi-color-white ((t (:foreground ,fg-dim :background ,fg-dim))))
- `(ansi-color-bright-black ((t (:foreground ,bg-hl :background ,bg-hl))))
- `(ansi-color-bright-red ((t (:foreground ,fg-red-subtle :background ,bg-red))))
- `(ansi-color-bright-green ((t (:foreground ,fg-green-subtle :background ,bg-green))))
- `(ansi-color-bright-yellow ((t (:foreground ,fg-yellow-subtle :background ,bg-yellow))))
- `(ansi-color-bright-blue ((t (:foreground ,fg-blue-subtle :background ,bg-blue))))
- `(ansi-color-bright-magenta ((t (:foreground ,fg-magenta-subtle :background ,bg-magenta))))
- `(ansi-color-bright-cyan ((t (:foreground ,fg-cyan-subtle :background ,bg-cyan))))
- `(ansi-color-bright-white ((t (:foreground ,fg :background ,fg))))
- `(button ((t (:inherit eighters-button))))
- `(calendar-today ((t (:inverse-video t))))
- `(change-log-date ((t (:inherit eighters-date))))
- `(change-log-email ((t (:inherit (eighters-identity fixed-pitch-serif)))))
- `(change-log-name ((t (:inherit eighters-identity))))
- `(compilation-column-number ((t (:inherit eighters-metadata))))
- `(compilation-line-number ((t (:inherit eighters-metadata))))
- `(compilation-mode-line-exit ((t (:inherit compilation-info))))
- `(compilation-mode-line-fail ((t (:inherit compilation-error))))
- `(compilation-mode-line-run ((t (:inherit compilation-warning))))
- `(completions-annotations ((t (:inherit font-lock-doc-face))))
- `(completions-common-part ((t (:inherit shadow))))
- `(completions-first-difference ((t (:foreground ,fg-magenta :weight bold))))
- `(completions-highlight ((t (:background ,bg-magenta))))
- `(custom-button ((t (:inherit eighters-button))))
- `(custom-comment ((t (:background ,bg-hl-dim :foreground ,fg-dim))))
- `(custom-variable-tag ((t (:inherit eighters-title-3))))
- `(default ((t (:background ,bg :foreground ,fg))))
- `(dired-broken-symlink ((t (:background ,bg-red :foreground ,fg-yellow :weight bold))))
- `(dired-directory ((t (:weight bold :foreground ,fg-blue))))
- `(dired-header ((t (:inherit eighters-title-1))))
- `(dired-special ((t (:foreground ,fg-yellow-dim))))
- `(eglot-highlight-symbol-face ((t (:background ,bg-cyan-dim :underline ,fg-cyan-dim))))
- `(eldoc-highlight-function-argument ((t (:background ,bg-red-dim :foreground ,fg-magenta :inverse-video t :weight bold))))
- `(emacs-authors-author ((t (:inherit (bold eighters-identity variable-pitch)))))
- `(emacs-authors-descriptor ((t (:inherit (shadow variable-pitch)))))
- `(emacs-news-does-not-need-documentation ((t (:foreground ,fg-dimmer))))
- `(emacs-news-is-documented ((t (:foreground ,fg-blue-dim))))
- `(erc-button ((t (:inherit link))))
- `(erc-current-nick-face ((t (:weight bold :inherit eighters-identity))))
- `(erc-direct-msg-face ((t (:inherit font-lock-doc-face))))
- `(erc-error-face ((t (:inherit error))))
- `(erc-input-face ((t (:inherit eighters-citation-1))))
- `(erc-keyword-face ((t (:inherit font-lock-keyword-face))))
- `(erc-my-nick-face ((t (:foreground ,fg-red-dim))))
- `(erc-nick-default-face ((t (:inherit eighters-identity))))
- `(erc-nick-msg-face ((t (:weight bold :inherit eighters-identity))))
- `(erc-notice-face ((t (:inherit font-lock-comment-face))))
- `(erc-prompt-face ((t (:inherit minibuffer-prompt))))
- `(erc-timestamp-face ((t (:inherit eighters-date))))
- `(error ((t :foreground ,fg-red :weight bold)))
- `(escape-glyph ((t (:foreground ,fg-red-dim :inherit fixed-pitch-serif))))
- `(eww-invalid-certificate ((t (:inherit error))))
- `(eww-valid-certificate ((t (:inherit success))))
- `(flymake-error ((t (:underline (:color ,fg-red :style wave)))))
- `(flymake-note ((t (:underline (:color ,fg-blue :style wave)))))
- `(flymake-warning ((t (:underline (:color ,fg-yellow :style wave)))))
- `(flyspell-duplicate ((t (:underline (:color ,fg-yellow :style wave)))))
- `(flyspell-incorrect ((t (:underline (:color ,fg-red :style wave)))))
- `(font-lock-builtin-face ((t (:foreground ,fg-blue))))
- `(font-lock-comment-face ((t (:foreground ,fg-dim :slant italic))))
- `(font-lock-constant-face ((t (:foreground ,fg-magenta))))
- `(font-lock-doc-face ((t (:foreground ,fg-green-dim :slant italic))))
- `(font-lock-function-name-face ((t (:foreground ,fg-blue :weight bold))))
- `(font-lock-keyword-face ((t (:foreground ,fg-cyan :weight bold))))
- `(font-lock-negation-char-face ((t (:inherit warning))))
- `(font-lock-preprocessor-face ((t (:foreground ,fg-blue :inherit fixed-pitch-serif))))
- `(font-lock-regexp-grouping-backslash ((t (:foreground ,fg-yellow-dim))))
- `(font-lock-regexp-grouping-construct ((t (:foreground ,fg-yellow :weight bold))))
- `(font-lock-string-face ((t (:foreground ,fg-magenta-dim))))
- `(font-lock-type-face ((t (:foreground ,fg-green))))
- `(font-lock-variable-name-face ((t (:foreground ,fg-yellow))))
- `(font-lock-warning-face ((t (:inherit warning))))
- `(fringe ((t (:background ,bg-hl-dimmer :foreground ,fg-dimmer))))
- `(gnus-group-mail-1 ((t (:foreground ,fg-yellow :weight bold))))
- `(gnus-group-mail-1-empty ((t (:foreground ,fg-yellow-dim))))
- `(gnus-group-mail-3 ((t (:foreground ,fg-green :weight bold))))
- `(gnus-group-mail-3-empty ((t (:foreground ,fg-green-dim))))
- `(gnus-group-mail-low ((t (:foreground ,fg-dim :weight bold))))
- `(gnus-group-mail-low-empty ((t (:foreground ,fg-dimmer))))
- `(gnus-group-news-3 ((t (:foreground ,fg-magenta :weight bold))))
- `(gnus-group-news-3-empty ((t (:foreground ,fg-magenta-dim))))
- `(gnus-button ((t (:inherit link))))
- `(gnus-cite-1 ((t (:inherit eighters-citation-1))))
- `(gnus-cite-2 ((t (:inherit eighters-citation-2))))
- `(gnus-cite-3 ((t (:inherit eighters-citation-3))))
- `(gnus-cite-4 ((t (:inherit eighters-citation-4))))
- `(gnus-cite-5 ((t (:inherit eighters-citation-5))))
- `(gnus-cite-6 ((t (:inherit eighters-citation-6))))
- `(gnus-cite-7 ((t (:inherit eighters-citation-1))))
- `(gnus-cite-8 ((t (:inherit eighters-citation-2))))
- `(gnus-cite-9 ((t (:inherit eighters-citation-3))))
- `(gnus-cite-10 ((t (:inherit eighters-citation-4))))
- `(gnus-cite-11 ((t (:inherit eighters-citation-5))))
- `(gnus-header ((t ())))
- `(gnus-header-content ((t (:foreground ,fg-dim :inherit gnus-header))))
- `(gnus-header-from ((t (:inherit (eighters-identity gnus-header)))))
- `(gnus-header-name ((t (:background ,bg-blue-dim :foreground ,fg-blue-subtle :inherit (eighters-ui gnus-header)))))
- `(gnus-header-newsgroups ((t (:inherit (warning gnus-header)))))
- `(gnus-header-subject ((t (:inherit (eighters-title-1 gnus-header)))))
- `(gnus-server-closed ((t (:inherit shadow))))
- `(gnus-server-cloud ((t (:foreground ,fg-dimmer))))
- `(gnus-server-cloud-host ((t (:foreground ,fg-dim :underline t))))
- `(gnus-server-denied ((t (:inherit error))))
- `(gnus-server-offline ((t (:inherit error))))
- `(gnus-server-opened ((t (:inherit success))))
- `(gnus-signature ((t (:inherit font-lock-comment-face))))
- `(gnus-summary-cancelled ((t (:strike-through t :inherit shadow))))
- `(gnus-summary-normal-ancient ((t (:foreground ,fg-dim))))
- `(gnus-summary-normal-read ((t (:foreground ,fg-dim :slant italic))))
- `(gnus-summary-normal-ticked ((t (:foreground ,fg-yellow-dim))))
- `(gnus-summary-selected ((t (:inherit highlight))))
- `(header-line ((t (:background ,bg-hl :inherit eighters-ui))))
- `(help-key-binding ((t (:background ,bg-hl-dimmer :foreground ,fg-magenta :inherit fixed-pitch-serif))))
- `(highlight ((t (:background ,bg-hl-dim))))
- `(icomplete-selected-match ((t (:inherit completions-highlight))))
- `(info-title-1 ((t (:inherit eighters-title-1))))
- `(info-title-2 ((t (:inherit eighters-title-2))))
- `(info-title-3 ((t (:inherit eighters-title-3))))
- `(info-title-4 ((t (:inherit eighters-title-4))))
- `(isearch ((t (:background ,bg-red-dim :foreground ,fg-magenta :inverse-video t))))
- `(isearch-fail ((t (:background ,bg-red :weight bold))))
- `(isearch-group-1 ((t (:background ,bg-red :foreground ,fg-red :inverse-video t))))
- `(isearch-group-2 ((t (:background ,bg-red :foreground ,fg-blue :inverse-video t))))
- `(lazy-highlight ((t (:background ,bg-cyan :foreground ,fg-cyan :inverse-video t))))
- `(link ((t (:foreground ,fg-blue :underline t))))
- `(link-visited ((t (:foreground ,fg-magenta-dim :underline t))))
- `(log-edit-header ((t (:inherit minibuffer-prompt))))
- `(log-edit-headers-separator ((t (:inherit separator-line))))
- `(log-edit-summary ((t (:inherit eighters-title-1))))
- `(Man-overstrike ((t (:foreground ,fg-cyan :inherit bold))))
- `(match ((t (:background ,bg-cyan-dim :underline ,fg-cyan-dim))))
- `(message-cited-text-1 ((t (:inherit eighters-citation-1))))
- `(message-cited-text-2 ((t (:inherit eighters-citation-2))))
- `(message-cited-text-3 ((t (:inherit eighters-citation-3))))
- `(message-cited-text-4 ((t (:inherit eighters-citation-4))))
- `(message-header-cc ((t (:inherit eighters-identity))))
- `(message-header-from ((t (:inherit eighters-identity))))
- `(message-header-name ((t (:background ,bg-blue-dim :foreground ,fg-blue-subtle :inherit eighters-ui))))
- `(message-header-newsgroups ((t (:inherit warning))))
- `(message-header-subject ((t (:inherit eighters-title-1))))
- `(message-header-other ((t (:foreground ,fg-dim))))
- `(message-header-to ((t (:weight bold :inherit eighters-identity))))
- `(message-header-xheader ((t (:inherit font-lock-preprocessor-face))))
- `(message-mml ((t (:foreground ,fg-blue :inherit eighters-ui))))
- `(message-separator ((t (:background ,bg-hl-dim :inherit (eighters-ui shadow)))))
- `(message-signature-separator ((t (:background ,bg-hl-dim :inherit (eighters-ui shadow)))))
- `(minibuffer-prompt ((t (:background ,bg-blue :foreground ,fg-blue-subtle :weight bold :inherit eighters-ui))))
- `(mm-uu-extract ((t (:background ,bg-hl-dimmer))))
- `(mode-line ((t (:background ,bg-hl :box (:color ,fg) :inherit eighters-ui))))
- `(mode-line-inactive ((t (:background ,bg-hl-dimmer :foreground ,fg-dimmer :box (:color ,bg-hl-dimmer) :inherit eighters-ui))))
- `(nobreak-space ((t (:background ,bg-magenta-dimmer :underline t :inherit escape-glyph))))
- `(outline-1 ((t (:inherit eighters-title-1))))
- `(outline-2 ((t (:inherit eighters-title-2))))
- `(outline-3 ((t (:inherit eighters-title-3))))
- `(outline-4 ((t (:inherit eighters-title-4))))
- `(outline-5 ((t (:inherit eighters-title-5))))
- `(outline-6 ((t (:inherit eighters-title-6))))
- `(outline-7 ((t (:inherit eighters-title-7))))
- `(outline-8 ((t (:inherit eighters-title-8))))
- `(org-block ((t (:background ,bg-hl-dimmer :inherit fixed-pitch-serif))))
- `(org-block-begin-line ((t (:background ,bg-hl-dim :inherit shadow :extend t))))
- `(org-block-end-line ((t (:background ,bg-hl-dim :inherit shadow :extend t))))
- `(org-checkbox ((t (:inherit eighters-checkbox))))
- `(org-code ((t (:background ,bg-hl-dim :inherit fixed-pitch-serif))))
- `(org-date ((t (:inherit eighters-date))))
- `(org-done ((t (:inherit success))))
- `(org-drawer ((t (:inherit shadow))))
- `(org-ellipsis ((t (:inherit shadow))))
- `(org-footnote ((t (:inherit font-lock-comment-face))))
- `(org-mode-line-clock ((t (:inherit font-lock-constant-face))))
- `(org-special-keyword ((t (:inherit shadow))))
- `(org-table ((t (:foreground ,fg-dim :inherit fixed-pitch-serif))))
- `(org-tag ((t (:inherit eighters-metadata))))
- `(org-todo ((t (:inherit error))))
- `(org-verbatim ((t (:background ,bg-hl-dim :foreground ,fg-magenta :inherit fixed-pitch-serif))))
- `(region ((t (:background ,bg-cyan))))
- `(rst-adornment ((t (:inherit shadow))))
- `(rst-block ((t (:inherit (bold rst-adornment)))))
- `(rst-definition ((t (:inherit font-lock-type-face))))
- `(rst-directive ((t (:foreground ,fg-dim))))
- `(rst-external ((t (:inherit font-lock-constant-face))))
- `(rst-level-1 ((t (:inherit eighters-title-1))))
- `(rst-level-2 ((t (:inherit eighters-title-2))))
- `(rst-level-3 ((t (:inherit eighters-title-3))))
- `(rst-level-4 ((t (:inherit eighters-title-4))))
- `(rst-level-5 ((t (:inherit eighters-title-5))))
- `(rst-level-6 ((t (:inherit eighters-title-6))))
- `(rst-literal ((t (:background ,bg-hl-dim :foreground ,fg-magenta :extend t :inherit fixed-pitch-serif))))
- `(rst-reference ((t (:inherit font-lock-string-face))))
- `(separator-line ((t (:background ,bg-hl :height 0.1))))
- `(sh-heredoc ((t (:background ,bg-hl-dimmer :extend t :inherit fixed-pitch-serif))))
- `(sh-quoted-exec ((t (:background ,bg-hl-dim :inherit fixed-pitch-serif))))
- `(shadow ((t (:foreground ,fg-dimmer))))
- `(shortdoc-heading ((t (:inherit eighters-title-1))))
- `(show-paren-match ((t (:foreground ,fg-cyan :inverse-video t))))
- `(show-paren-mismatch ((t (:foreground ,fg-red :inverse-video t))))
- `(shr-h1 ((t (:inherit eighters-title-1))))
- `(shr-h2 ((t (:inherit eighters-title-2))))
- `(shr-h3 ((t (:inherit eighters-title-3))))
- `(shr-h4 ((t (:inherit eighters-title-4))))
- `(shr-h5 ((t (:inherit eighters-title-5))))
- `(shr-h6 ((t (:inherit eighters-title-6))))
- `(success ((t (:foreground ,fg-blue :weight bold))))
- `(tab-bar ((t (:background ,bg-hl-dimmer :inherit eighters-ui))))
- `(tab-bar-tab ((t (:weight bold :box (:style released-button) :inherit tab-bar))))
- `(tab-bar-tab-inactive ((t (:foreground ,fg-dimmer :weight normal :box (:style pressed-button) :inherit tab-bar-tab))))
- `(tab-line ((t (:inherit tab-bar :height 0.9))))
- `(tab-line-tab-current ((t (:inherit (tab-line-tab tab-bar-tab)))))
- `(tab-line-tab-inactive ((t (:inherit (tab-line-tab tab-bar-tab-inactive)))))
- `(textsec-suspicious ((t (:background ,bg-red))))
- `(trailing-whitespace ((t (:background ,bg-red))))
- `(transient-argument ((t :weight bold :inherit font-lock-string-face)))
- `(transient-key ((t :inherit help-key-binding)))
- `(transient-key-exit ((t :inherit (bold transient-key))))
- `(transient-key-return ((t :inherit (bold transient-key))))
- `(transient-key-stay ((t :inherit transient-key)))
- `(transient-unreachable-key ((t :inherit (shadow help-key-binding))))
- `(vc-dir-directory ((t (:inherit dired-directory))))
- `(vc-dir-file ((t (:inherit default))))
- `(vc-dir-header ((t (:foreground ,fg-blue-subtle))))
- `(vc-dir-header-value ((t (:foreground ,fg-dim))))
- `(vc-dir-mark-indicator ((t (:inherit dired-mark))))
- `(vc-dir-status-edited ((t (:foreground ,fg-yellow))))
- `(vertical-border ((t (:foreground ,bg-hl))))
- `(warning ((t (:foreground ,fg-yellow :weight bold))))
- `(whitespace-hspace ((t (:weight bold :inherit whitespace-space))))
- `(whitespace-indentation ((t (:background ,bg-yellow-dim :foreground ,fg-red))))
- `(whitespace-newline ((t (:foreground ,fg-blue-dim))))
- `(whitespace-space ((t (:background ,bg-blue-dimmer :foreground ,fg-blue-dim))))
- `(whitespace-space-after-tab ((t (:inherit whitespace-indentation))))
- `(whitespace-tab ((t (:inherit whitespace-space))))
- `(whitespace-trailing ((t (:background ,bg-red-dim :foreground ,fg-yellow :weight bold))))
- `(widget-field ((t (:background ,bg-hl-dim))))
-;;;; Diff faces.
- `(diff-header ((t (:background ,bg-hl-dimmer :foreground ,fg-dim))))
- `(diff-file-header ((t (:background ,bg-hl-dimmer :foreground ,fg :weight bold))))
- `(diff-hunk-header ((t (:background ,bg-hl-dim :foreground ,fg-dim))))
- `(diff-function ((t (:background ,bg-hl-dim :weight bold))))
- `(diff-context ((t :foreground ,fg-dim)))
- `(diff-removed ((t (:background ,bg-red-dimmer))))
- `(diff-refine-removed ((t (:background ,bg-red))))
- `(diff-indicator-removed ((t (:foreground ,fg-red :inherit diff-removed))))
- `(diff-added ((t :background ,bg-blue-dimmer)))
- `(diff-refine-added ((t (:background ,bg-blue))))
- `(diff-indicator-added ((t (:foreground ,fg-blue :inherit diff-added))))
- `(diff-changed ((t :background ,bg-yellow-dimmer)))
- `(diff-refine-changed ((t (:background ,bg-yellow))))
- `(diff-indicator-changed ((t (:foreground ,fg-yellow :inherit diff-changed))))
- `(ediff-even-diff-A ((t (:background ,bg-hl-dimmer))))
- `(ediff-even-diff-B ((t (:background ,bg-hl-dimmer))))
- `(ediff-even-diff-C ((t (:background ,bg-hl-dimmer))))
- `(ediff-even-diff-Ancestor ((t (:background ,bg-hl-dimmer))))
- `(ediff-odd-diff-A ((t (:background ,bg-hl-dimmer))))
- `(ediff-odd-diff-B ((t (:background ,bg-hl-dimmer))))
- `(ediff-odd-diff-C ((t (:background ,bg-hl-dimmer))))
- `(ediff-odd-diff-Ancestor ((t (:background ,bg-hl-dimmer))))
- `(ediff-current-diff-A ((t (:inherit diff-removed))))
- `(ediff-current-diff-B ((t (:inherit diff-added))))
- `(ediff-current-diff-C ((t (:inherit diff-changed))))
- `(ediff-current-diff-Ancestor ((t (:background ,bg-magenta-dimmer))))
- `(ediff-fine-diff-A ((t (:inherit diff-refine-removed))))
- `(ediff-fine-diff-B ((t (:inherit diff-refine-added))))
- `(ediff-fine-diff-C ((t (:inherit diff-refine-changed))))
- `(ediff-fine-diff-Ancestor ((t (:background ,bg-magenta))))
- `(smerge-markers ((t (:background ,bg-hl-dim :foreground ,fg-dim))))
- `(smerge-base ((t (:background ,bg-yellow-dim))))
- ;; Do *NOT* customize smerge-refined-changed, because that tells
- ;; smerge to use it for both removed and added sections.
- `(smerge-upper ((t (:background ,bg-red-dim))))
- `(smerge-refined-removed ((t (:inherit diff-refine-removed))))
- `(smerge-lower ((t (:background ,bg-blue-dim))))
- `(smerge-refined-added ((t (:inherit diff-refine-added))))
-;;; Third-party faces.
- `(diff-hl-delete ((t (:foreground ,fg-red :background ,bg-red))))
- `(diff-hl-insert ((t (:foreground ,fg-blue :background ,bg-blue))))
- `(diff-hl-change ((t (:foreground ,fg-yellow :background ,bg-yellow))))
- `(forge-dimmed ((t (:inherit shadow))))
- `(forge-post-author ((t (:inherit eighters-identity))))
- `(forge-post-date ((t (:inherit eighters-date))))
- `(forge-pullreq-merged ((t (:inherit forge-dimmed))))
- `(forge-pullreq-open ((t ())))
- `(forge-pullreq-rejected ((t (:inherit forge-dimmed :strike-through t))))
- `(forge-topic-done ((t ())))
- `(forge-topic-slug-completed ((t (:foreground ,fg-blue-dim))))
- `(forge-topic-slug-open ((t (:foreground ,fg-red-subtle))))
- `(forge-topic-slug-saved ((t (:foreground ,fg-yellow))))
- `(forge-topic-slug-unplanned ((t (:inherit forge-dimmed :strike-through t))))
- `(forge-topic-slug-unread ((t ())))
- `(markdown-blockquote-face ((t (:inherit eighters-citation-1))))
- `(markdown-code-face ((t (:inherit fixed-pitch-serif))))
- `(markdown-gfm-checkbox-face ((t :inherit eighters-checkbox)))
- `(markdown-header-face-1 ((t (:inherit eighters-title-1))))
- `(markdown-header-face-2 ((t (:inherit eighters-title-2))))
- `(markdown-header-face-3 ((t (:inherit eighters-title-3))))
- `(markdown-header-face-4 ((t (:inherit eighters-title-4))))
- `(markdown-header-face-5 ((t (:inherit eighters-title-5))))
- `(markdown-header-face-6 ((t (:inherit eighters-title-6))))
- `(markdown-inline-code-face ((t (:background ,bg-hl-dim :foreground ,fg-magenta :inherit markdown-code-face))))
- `(markdown-line-break-face ((t (:background ,bg-hl-dimmer :underline t :inherit markdown-markup-face))))
- `(markdown-pre-face ((t (:background ,bg-hl-dimmer :inherit markdown-code-face :extend t))))
- `(markdown-url-face ((t (:inherit (markdown-markup-face markdown-plain-url-face)))))
- `(which-key-group-description-face ((t (:foreground ,fg-green-dim))))
- `(which-key-key-face ((t :weight bold :inherit help-key-binding)))
-;;;; Magit.
- `(magit-blame-highlight ((t (:foreground ,fg-blue-dim :background ,bg-blue-dimmer))))
- `(magit-branch-current ((t (:inverse-video t :inherit magit-branch-local))))
- `(magit-branch-local ((t (:foreground ,fg-blue))))
- `(magit-branch-remote ((t (:foreground ,fg-green-dim))))
- `(magit-branch-remote-head ((t (:inverse-video t :inherit magit-branch-remote))))
- `(magit-keyword ((t (:inherit eighters-metadata))))
- `(magit-process-ng ((t (:inherit error))))
- `(magit-process-ok ((t (:inherit success))))
- `(magit-log-date ((t (:inherit eighters-date))))
- `(magit-hash ((t (:inherit shadow))))
- `(magit-log-author ((t (:inherit eighters-identity))))
- `(magit-log-graph ((t (:inherit eighters-markup))))
- `(magit-mode-line-process ((t (:inherit compilation-mode-line-run))))
- ;; FIXME: Teach magit-section overlays to de-prioritize their
- ;; :background so that tags can have one.
- `(magit-tag ((t (:foreground ,fg-yellow))))
-;;;;; Section backgrounds.
- `(magit-section-highlight ((t :background ,bg-hl-dimmer)))
- `(magit-diff-revision-summary ((t (:inherit (magit-diff-hunk-heading eighters-title-1)))))
- `(magit-section-heading ((t (:inherit eighters-title-2))))
- `(magit-diff-file-heading ((t (:inherit eighters-title-3))))
- `(magit-diff-context ((t (:foreground ,fg-dim))))
- `(magit-diff-context-highlight ((t (:background ,bg-hl-dimmer :inherit magit-diff-context))))
- `(magit-diff-hunk-heading ((t (:background ,bg-hl-dim))))
- `(magit-diff-hunk-heading-highlight ((t (:background ,bg-hl))))
-;;;;; Selections.
- `(magit-section-heading-selection ((t (:foreground ,fg-cyan :background ,bg-cyan-dim))))
- `(magit-diff-file-heading-selection ((t (:foreground ,fg-cyan :background ,bg-cyan-dim))))
- `(magit-diff-hunk-heading-selection ((t (:foreground ,fg-cyan :background ,bg-cyan-dim))))
- `(magit-diff-lines-heading ((t (:foreground ,fg-cyan :inverse-video t))))
-;;;;; Diffs.
- `(magit-diff-base ((t (:foreground ,fg-dim :inherit diff-changed))))
- `(magit-diff-base-highlight ((t (:background ,bg-yellow-dim))))
- `(magit-diff-removed ((t (:foreground ,fg-dim :inherit diff-removed))))
- `(magit-diff-removed-highlight ((t (:background ,bg-red-dim))))
- `(magit-diffstat-removed ((t (:foreground ,fg-red))))
- `(magit-diff-added ((t (:foreground ,fg-dim :inherit diff-added))))
- `(magit-diff-added-highlight ((t (:background ,bg-blue-dim))))
- `(magit-diffstat-added ((t (:foreground ,fg-blue))))
-;;;;; Git commit.
- `(git-commit-comment-action ((t (:inherit eighters-title-3))))
- `(git-commit-comment-branch-local ((t (:inherit magit-branch-local))))
- `(git-commit-comment-branch-remote ((t (:inherit magit-branch-remote))))
- `(git-commit-comment-file ((t (:foreground ,fg-dim))))
- `(git-commit-comment-heading ((t (:inherit eighters-title-2))))
- `(git-commit-keyword ((t (:inherit eighters-metadata))))
- `(git-commit-known-pseudo-header ((t (:inherit message-header-name))))
- `(git-commit-pseudo-header ((t (:inherit eighters-identity))))
- `(git-commit-summary ((t (:inherit eighters-title-1)))))
- (custom-theme-set-variables
- 'eighters
- '(compilation-enter-directory-face 'dired-directory)
- `(compilation-leave-directory-face '(:foreground ,fg-blue-dim))))
-
-(provide-theme 'eighters)
diff --git a/.emacs.d/icons/compilation-failure.png b/.emacs.d/icons/compilation-failure.png
deleted file mode 100644
index 4de1294..0000000
--- a/.emacs.d/icons/compilation-failure.png
+++ /dev/null
Binary files differ
diff --git a/.emacs.d/icons/compilation-success.png b/.emacs.d/icons/compilation-success.png
deleted file mode 100644
index a30a972..0000000
--- a/.emacs.d/icons/compilation-success.png
+++ /dev/null
Binary files differ