added some emacs windows fluff to make it less crap

This commit is contained in:
2026-04-17 19:48:07 -04:00
parent edf5e7e57e
commit 4fa407f027
4 changed files with 665 additions and 6 deletions

View File

@@ -0,0 +1,202 @@
;;; aldricos-gruvbox-theme.el --- Aldrico's Gruvbox color theme
;; Based on "Aldrico's Gruvbox" VS Code theme
;; Ported to Emacs using fleury-theme.el as structural template
(deftheme aldricos-gruvbox "Aldrico's Gruvbox color theme")
(let ((bg "#000000")
(bg-soft "#1c1c1c")
(bg-hard "#32302f")
(bg-1 "#383432")
(bg-2 "#45403d")
(bg-3 "#504945")
(bg-4 "#5a524c")
(fg "#d4be98")
(fg-dim "#a89984")
(fg-dimmer "#928374")
(fg-faint "#7c6f64")
(red "#ea6962")
(red-dim "#b85651")
(orange "#e78a4e")
(yellow "#d8a657")
(green "#a9b665")
(green-dim "#8f9a52")
(aqua "#89b482")
(blue "#7daea3")
(purple "#d3869b")
(orange-dim "#c18f41")
(blue-dim "#68948a"))
(custom-theme-set-faces
'aldricos-gruvbox
;; UI Elements
`(default ((t (:background ,bg :foreground ,fg))))
`(cursor ((t (:background ,fg))))
`(region ((t (:background ,bg-3))))
`(highlight ((t (:background ,bg-1))))
`(hl-line ((t (:background ,bg-1))))
`(fringe ((t (:background ,bg :foreground ,fg-faint))))
`(vertical-border ((t (:foreground ,bg-4))))
`(minibuffer-prompt ((t (:foreground ,green :weight bold))))
`(link ((t (:foreground ,green :underline t))))
`(link-visited ((t (:foreground ,green-dim :underline t))))
`(trailing-whitespace ((t (:background ,red))))
`(secondary-selection ((t (:background ,bg-2))))
`(shadow ((t (:foreground ,fg-faint))))
`(tooltip ((t (:background ,bg-hard :foreground ,fg))))
;; Line Numbers
`(line-number ((t (:background ,bg :foreground ,fg-faint))))
`(line-number-current-line ((t (:background ,bg :foreground ,fg-dimmer))))
;; Mode Line
`(mode-line ((t (:background ,bg-2 :foreground ,fg-dim
:box (:line-width 1 :color ,bg-4 :style nil)))))
`(mode-line-inactive ((t (:background ,bg-1 :foreground ,fg-faint
:box (:line-width 1 :color ,bg-4 :style nil)))))
`(mode-line-buffer-id ((t (:foreground ,fg :weight bold))))
;; Font Lock Faces
`(font-lock-keyword-face ((t (:foreground ,red))))
`(font-lock-builtin-face ((t (:foreground ,aqua))))
`(font-lock-function-name-face ((t (:foreground ,green))))
`(font-lock-variable-name-face ((t (:foreground ,fg))))
`(font-lock-variable-use-face ((t (:foreground ,fg))))
`(font-lock-type-face ((t (:foreground ,blue))))
`(font-lock-constant-face ((t (:foreground ,purple))))
`(font-lock-number-face ((t (:foreground ,purple))))
`(font-lock-string-face ((t (:foreground ,yellow))))
`(font-lock-doc-face ((t (:foreground ,fg-dimmer :slant italic))))
`(font-lock-comment-face ((t (:foreground ,fg-dimmer :slant italic))))
`(font-lock-comment-delimiter-face ((t (:foreground ,fg-dimmer :slant italic))))
`(font-lock-preprocessor-face ((t (:foreground ,aqua))))
`(font-lock-warning-face ((t (:foreground ,orange-dim :weight bold))))
`(font-lock-operator-face ((t (:foreground ,orange))))
`(font-lock-negation-char-face ((t (:foreground ,orange))))
`(font-lock-regexp-grouping-backslash ((t (:foreground ,yellow))))
`(font-lock-regexp-grouping-construct ((t (:foreground ,yellow))))
;; Search
`(isearch ((t (:background ,orange-dim :foreground ,bg :weight bold))))
`(isearch-fail ((t (:background ,red-dim :foreground ,fg))))
`(lazy-highlight ((t (:background ,bg-3 :foreground ,green))))
;; Show Paren
`(show-paren-match ((t (:background ,bg-3 :foreground ,fg :weight bold))))
`(show-paren-mismatch ((t (:background ,red-dim :foreground ,fg :weight bold))))
;; Error / Warning / Success
`(error ((t (:foreground ,red :weight bold))))
`(warning ((t (:foreground ,orange-dim :weight bold))))
`(success ((t (:foreground ,green :weight bold))))
;; Compilation
`(compilation-error ((t (:foreground ,red))))
`(compilation-warning ((t (:foreground ,yellow :weight bold))))
`(compilation-info ((t (:foreground ,blue))))
`(compilation-line-number ((t (:foreground ,green))))
`(compilation-column-number ((t (:foreground ,aqua))))
`(compilation-mode-line-exit ((t (:foreground ,green :weight bold))))
`(compilation-mode-line-fail ((t (:foreground ,red :weight bold))))
`(compilation-mode-line-run ((t (:foreground ,yellow :weight bold))))
;; Flycheck
`(flycheck-error ((t (:underline (:color ,red :style wave)))))
`(flycheck-warning ((t (:underline (:color ,orange-dim :style wave)))))
`(flycheck-info ((t (:underline (:color ,blue-dim :style wave)))))
`(flycheck-fringe-error ((t (:foreground ,red))))
`(flycheck-fringe-warning ((t (:foreground ,orange-dim))))
`(flycheck-fringe-info ((t (:foreground ,blue-dim))))
;; Diff
`(diff-added ((t (:foreground ,green))))
`(diff-removed ((t (:foreground ,red))))
`(diff-changed ((t (:foreground ,blue))))
`(diff-header ((t (:foreground ,yellow))))
`(diff-file-header ((t (:foreground ,yellow :weight bold))))
`(diff-hunk-header ((t (:foreground ,orange))))
;; Dired
`(dired-directory ((t (:foreground ,blue :weight bold))))
`(dired-flagged ((t (:foreground ,red))))
`(dired-ignored ((t (:foreground ,fg-faint))))
`(dired-mark ((t (:foreground ,yellow))))
`(dired-marked ((t (:foreground ,orange :weight bold))))
`(dired-symlink ((t (:foreground ,aqua))))
`(dired-warning ((t (:foreground ,orange-dim))))
;; Org Mode
`(org-level-1 ((t (:foreground ,red :weight bold))))
`(org-level-2 ((t (:foreground ,orange :weight bold))))
`(org-level-3 ((t (:foreground ,yellow :weight bold))))
`(org-level-4 ((t (:foreground ,green :weight bold))))
`(org-level-5 ((t (:foreground ,blue :weight bold))))
`(org-level-6 ((t (:foreground ,purple :weight bold))))
`(org-level-7 ((t (:foreground ,aqua :weight bold))))
`(org-level-8 ((t (:foreground ,fg-dim :weight bold))))
`(org-block ((t (:foreground ,fg :background ,bg-hard))))
`(org-block-begin-line ((t (:foreground ,fg-faint :background ,bg-hard))))
`(org-block-end-line ((t (:foreground ,fg-faint :background ,bg-hard))))
`(org-code ((t (:foreground ,green))))
`(org-verbatim ((t (:foreground ,yellow))))
`(org-link ((t (:foreground ,green :underline t))))
`(org-todo ((t (:foreground ,red :weight bold))))
`(org-done ((t (:foreground ,aqua :weight bold))))
`(org-table ((t (:foreground ,blue))))
`(org-date ((t (:foreground ,blue :underline t))))
`(org-special-keyword ((t (:foreground ,fg-faint))))
`(org-tag ((t (:foreground ,fg-faint :weight bold))))
;; Markdown
`(markdown-header-face-1 ((t (:foreground ,red :weight bold))))
`(markdown-header-face-2 ((t (:foreground ,orange :weight bold))))
`(markdown-header-face-3 ((t (:foreground ,yellow :weight bold))))
`(markdown-header-face-4 ((t (:foreground ,green :weight bold))))
`(markdown-header-face-5 ((t (:foreground ,blue :weight bold))))
`(markdown-header-face-6 ((t (:foreground ,purple :weight bold))))
`(markdown-code-face ((t (:foreground ,green :background ,bg-hard))))
`(markdown-inline-code-face ((t (:foreground ,green))))
`(markdown-link-face ((t (:foreground ,purple))))
`(markdown-url-face ((t (:foreground ,green :underline t))))
`(markdown-list-face ((t (:foreground ,red))))
`(markdown-bold-face ((t (:weight bold))))
`(markdown-italic-face ((t (:slant italic))))
;; Term / ansi colors
`(term-color-black ((t (:foreground ,bg-1 :background ,bg-1))))
`(term-color-red ((t (:foreground ,red :background ,red))))
`(term-color-green ((t (:foreground ,green :background ,green))))
`(term-color-yellow ((t (:foreground ,yellow :background ,yellow))))
`(term-color-blue ((t (:foreground ,blue :background ,blue))))
`(term-color-magenta ((t (:foreground ,purple :background ,purple))))
`(term-color-cyan ((t (:foreground ,aqua :background ,aqua))))
`(term-color-white ((t (:foreground ,fg :background ,fg))))
;; Eshell
`(eshell-prompt ((t (:foreground ,green :weight bold))))
`(eshell-ls-directory ((t (:foreground ,blue :weight bold))))
`(eshell-ls-executable ((t (:foreground ,green))))
`(eshell-ls-symlink ((t (:foreground ,aqua))))
`(eshell-ls-missing ((t (:foreground ,red))))
`(eshell-ls-archive ((t (:foreground ,orange))))
`(eshell-ls-readonly ((t (:foreground ,orange-dim))))
`(eshell-ls-unreadable ((t (:foreground ,red-dim))))
;; Whitespace
`(whitespace-trailing ((t (:background ,red-dim :foreground ,fg))))
`(whitespace-space ((t (:background ,bg :foreground ,bg-2))))
`(whitespace-tab ((t (:background ,bg :foreground ,bg-2))))
`(whitespace-newline ((t (:foreground ,bg-2))))))
(custom-theme-set-variables
'aldricos-gruvbox
'(ansi-color-names-vector
["#383432" "#ea6962" "#a9b665" "#d8a657" "#7daea3" "#d3869b" "#89b482" "#d4be98"]))
(provide-theme 'aldricos-gruvbox)
;;; aldricos-gruvbox-theme.el ends here