aboutsummaryrefslogtreecommitdiff
path: root/bard-emacs-modules
diff options
context:
space:
mode:
authorBardofSprites <[email protected]>2025-12-26 19:40:49 -0500
committerBardofSprites <[email protected]>2025-12-26 19:40:49 -0500
commit21794a4dfa857a770155b9e0c59af885e0d5756c (patch)
tree06db5ca0fc03ce026725ed83eec24b4e5711a382 /bard-emacs-modules
parent72a63d40f3278aade59bc9adb55bc374e45499ea (diff)
literate configuration
Diffstat (limited to 'bard-emacs-modules')
-rw-r--r--bard-emacs-modules/bard-emacs-calendar.el46
-rw-r--r--bard-emacs-modules/bard-emacs-completion.el92
-rw-r--r--bard-emacs-modules/bard-emacs-dired.el17
-rw-r--r--bard-emacs-modules/bard-emacs-email.el99
-rw-r--r--bard-emacs-modules/bard-emacs-emms.el0
-rw-r--r--bard-emacs-modules/bard-emacs-essentials.el26
-rw-r--r--bard-emacs-modules/bard-emacs-keyboard.el12
-rw-r--r--bard-emacs-modules/bard-emacs-media.el2
-rw-r--r--bard-emacs-modules/bard-emacs-modeline.el3
-rw-r--r--bard-emacs-modules/bard-emacs-org.el10
-rw-r--r--bard-emacs-modules/bard-emacs-prog.el6
-rw-r--r--bard-emacs-modules/bard-emacs-theme.el95
12 files changed, 225 insertions, 183 deletions
diff --git a/bard-emacs-modules/bard-emacs-calendar.el b/bard-emacs-modules/bard-emacs-calendar.el
index 54e7795..25a5c8d 100644
--- a/bard-emacs-modules/bard-emacs-calendar.el
+++ b/bard-emacs-modules/bard-emacs-calendar.el
@@ -14,6 +14,15 @@
(calendar-mode . denote-journal-calendar-mode)
(calendar-today-visible . calendar-mark-holidays))
+(use-package orthodox-christian-new-calendar-holidays
+ :ensure t
+ :config
+ (setq holiday-other-holidays (append holiday-other-holidays orthodox-christian-new-calendar-holidays))
+
+ (setq holiday-bahai-holidays nil
+ holiday-christian-holidays nil
+ holiday-islamic-holidays nil))
+
;; Org todo keywords - changed to using hl-todo faces fixed by modus/ef themes
(setq org-todo-keywords
'((sequence "TODO(t)" "EXTRA(e)" "INPROG(i)" "|" "DONE(d)" "KILLED(k)")
@@ -30,8 +39,6 @@
;; Automatically clock in
(add-hook 'org-after-todo-state-change-hook #'bard/auto-clock-in)
-;;; Org Agenda
-
;; clock tables
(setq org-clock-clocktable-default-properties '(:maxlevel 7 :scope agenda)
org-clock-persist 'history
@@ -43,20 +50,15 @@
:hook
((org-clock-out . bard/org-clock-update-mode-line)))
-(global-set-key (kbd "M-<f1>") 'bard/choose-agenda)
-(global-set-key (kbd "C-c a c") 'bard/choose-agenda)
-
(global-set-key (kbd "<f1>") 'bard/default-agenda)
-(global-set-key (kbd "C-c a a") 'bard/default-agenda)
+(global-set-key (kbd "M-<f1>") 'bard/choose-agenda)
-;; Org Agenda
(setq org-agenda-include-diary t)
(setq org-agenda-custom-commands
`(("D" "Daily agenda and top priority tasks"
((tags-todo "!TODO"
((org-agenda-overriding-header "Unscheduled Tasks \n")
(org-agenda-skip-function '(org-agenda-skip-entry-if 'timestamp))))
-
(agenda "" ((org-agenda-span 1)
(org-agenda-start-day nil)
(org-deadline-warning-days 14)
@@ -88,32 +90,4 @@
org-habit-show-all-today t)
)
-(use-package orthodox-christian-new-calendar-holidays
- :ensure t
- :config
- (setq holiday-other-holidays (append holiday-other-holidays orthodox-christian-new-calendar-holidays))
-
- (setq holiday-bahai-holidays nil
- holiday-christian-holidays nil
- holiday-islamic-holidays nil))
-
-(defun bard/export-agenda-to-file ()
- (interactive)
- (org-eval-in-environment (org-make-parameter-alist
- '(org-agenda-span
- 'week
- org-agenda-use-time-grid t
- org-agenda-remove-tags t
- org-agenda-window-setup 'nope))
- (let* ((wins (current-window-configuration))
- org-agenda-sticky)
- (save-excursion
- (with-current-buffer
- (get-buffer-create org-agenda-buffer-name)
- (pop-to-buffer (current-buffer))
- (org-agenda nil "a")
- (let ((result (buffer-string)))
- (with-temp-file "~/.cache/agenda" (insert result)))))
- (set-window-configuration wins))))
-
(provide 'bard-emacs-calendar)
diff --git a/bard-emacs-modules/bard-emacs-completion.el b/bard-emacs-modules/bard-emacs-completion.el
index fda5397..b8bfce7 100644
--- a/bard-emacs-modules/bard-emacs-completion.el
+++ b/bard-emacs-modules/bard-emacs-completion.el
@@ -4,7 +4,7 @@
:config
(setq vertico-scroll-margin 0)
(setq vertico-cycle nil)
-
+ (setq vertico-resize nil)
(vertico-mode t)
(with-eval-after-load 'rfn-eshadow
@@ -30,17 +30,17 @@
'(read-only t cursor-intangible t face minibuffer-prompt))
;; MCT has a variant of this built-in.
- (defun crm-indicator (args)
- (cons (format "[`completing-read-multiple': %s] %s"
- (propertize
- (replace-regexp-in-string
- "\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" ""
- crm-separator)
- 'face 'error)
- (car args))
- (cdr args)))
-
- (advice-add #'completing-read-multiple :filter-args #'crm-indicator)
+ (defun crm-indicator (args)
+ (cons (format "[`completing-read-multiple': %s] %s"
+ (propertize
+ (replace-regexp-in-string
+ "\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" ""
+ crm-separator)
+ 'face 'error)
+ (car args))
+ (cdr args)))
+
+ (advice-add #'completing-read-multiple :filter-args #'crm-indicator)
(file-name-shadow-mode 1))
@@ -176,7 +176,6 @@
(setq embark-verbose-indicator-excluded-actions
'(embark-cycle embark-act-all embark-collect embark-export embark-insert)))
-;; Savehist
(setq savehist-file (locate-user-emacs-file "savehist"))
(setq history-length 100)
(setq history-delete-duplicates t)
@@ -184,15 +183,12 @@
(setq savehist-additional-variables '(register-alist kill-ring))
(savehist-mode t)
-;; recentf
(recentf-mode t)
(setq recentf-save-file (locate-user-emacs-file "recentf"))
;; save cursor place for code files
(add-hook 'prog-mode-hook #'save-place-local-mode)
-
-;;; abbrev-mode
(setq abbrev-file-name (locate-user-emacs-file "abbrevs"))
(setq only-global-abbrevs nil)
@@ -203,38 +199,38 @@
"protweb" "https://protesilaos.com/")
(bard/make-abbrev text-mode-abbrev-table
- "asciidoc" "AsciiDoc"
- "auctex" "AUCTeX"
- "cafe" "café"
- "cliche" "cliché"
- "clojurescript" "ClojureScript"
- "emacsconf" "EmacsConf"
- "github" "GitHub"
- "gitlab" "GitLab"
- "javascript" "JavaScript"
- "latex" "LaTeX"
- "libreplanet" "LibrePlanet"
- "linkedin" "LinkedIn"
- "paypal" "PayPal"
- "sourcehut" "SourceHut"
- "texmacs" "TeXmacs"
- "typescript" "TypeScript"
- "visavis" "vis-à-vis"
- "vscode" "Visual Studio Code"
- "youtube" "YouTube"
- "Результат" "=Результат Сегодняшний Битвый="
- "asf" "and so on and so forth"
- "paragraph" "¶"
- "em" "—"
- "ua" "↑"
- "da" "↓"
- "ra" "→"
- "la" "←"
- "iff" "⇔"
- "imp" "⇒"
- "tf" "∴"
- "xmonad" "XMonad"
- "xmobar" "XMobar")
+ "asciidoc" "AsciiDoc"
+ "auctex" "AUCTeX"
+ "cafe" "café"
+ "cliche" "cliché"
+ "clojurescript" "ClojureScript"
+ "emacsconf" "EmacsConf"
+ "github" "GitHub"
+ "gitlab" "GitLab"
+ "javascript" "JavaScript"
+ "latex" "LaTeX"
+ "libreplanet" "LibrePlanet"
+ "linkedin" "LinkedIn"
+ "paypal" "PayPal"
+ "sourcehut" "SourceHut"
+ "texmacs" "TeXmacs"
+ "typescript" "TypeScript"
+ "visavis" "vis-à-vis"
+ "vscode" "Visual Studio Code"
+ "youtube" "YouTube"
+ "Результат" "=Результат Сегодняшний Битвый="
+ "asf" "and so on and so forth"
+ "paragraph" "¶"
+ "em" "—"
+ "ua" "↑"
+ "da" "↓"
+ "ra" "→"
+ "la" "←"
+ "iff" "⇔"
+ "imp" "⇒"
+ "tf" "∴"
+ "xmonad" "XMonad"
+ "xmobar" "XMobar")
(dolist (hook '(text-mode-hook prog-mode-hook git-commit-mode-hook))
(add-hook hook #'abbrev-mode))
diff --git a/bard-emacs-modules/bard-emacs-dired.el b/bard-emacs-modules/bard-emacs-dired.el
index e233f52..f4470fa 100644
--- a/bard-emacs-modules/bard-emacs-dired.el
+++ b/bard-emacs-modules/bard-emacs-dired.el
@@ -24,22 +24,14 @@
("\\.\\(mp[34]\\|m4a\\|ogg\\|flac\\|webm\\|mkv\\)" "mpv" "xdg-open")
(".gif" "mpv --loop=inf")
(".*" "xdg-open")))
+ (setq dired-dwim-target t)
+ (setq dired-listing-switches
+ "-AgGFhlv --group-directories-first --time-style=long-iso")
:hook
((dired-mode . dired-hide-details-mode)
;; attachments for email through dired
(dired-mode . turn-on-gnus-dired-mode)))
-(use-package dired
- :ensure nil
- :defer 1
- :config
- (setq dired-dwim-target t)
- ;; (setq dired-listing-switches "-lXGh --group-directories-first")
- (setq dired-listing-switches
- "-AgGFhlv --group-directories-first --time-style=long-iso")
- )
-
-;; Image dired
(use-package image-dired
:bind
(:map dired-mode-map
@@ -89,7 +81,6 @@
(start-process "feh" nil "feh" "--bg-fill" image-file)
(message "Background set to %s" image-file))))
-
;; Taken from https://superuser.com/a/176629
(defun bard/dired-do-command (command)
"Run COMMAND on marked files. Any files not already open will be opened.
@@ -105,7 +96,7 @@ open and unsaved."
(use-package dired-video-thumbnail
:ensure t
:vc (:url "https://github.com/captainflasmr/dired-video-thumbnail"
- :rev :newest)
+ :rev :newest)
:bind (:map dired-mode-map
("C-t v" . dired-video-thumbnail)))
diff --git a/bard-emacs-modules/bard-emacs-email.el b/bard-emacs-modules/bard-emacs-email.el
index 68605a7..797f01b 100644
--- a/bard-emacs-modules/bard-emacs-email.el
+++ b/bard-emacs-modules/bard-emacs-email.el
@@ -1,57 +1,26 @@
(require 'bard-email)
-;; General `notmuch' ui configuration
-
(use-package notmuch
:ensure t
:config
- (define-key global-map (kbd "C-c m") #'notmuch))
-
-(use-package notmuch-indicator
- :ensure t
- :after notmuch
- :config
- (setq notmuch-indicator-args
- '(( :terms "tag:unread and tag:inbox"
- :label "[U] "
- :label-face prot-modeline-indicator-green
- :counter-face prot-modeline-indicator-green)
- ( :terms "tag:unread and tag:linux"
- :label "[L] "
- :label-face prot-modeline-indicator-cyan
- :counter-face prot-modeline-indicator-cyan)
- ( :terms "tag:unread and tag:emacs"
- :label "[E] "
- :label-face prot-modeline-indicator-blue
- :counter-face prot-modeline-indicator-blue))
-
- notmuch-indicator-refresh-count (* 60 3)
- notmuch-indicator-hide-empty-counters t
- notmuch-indicator-force-refresh-commands '(notmuch-refresh-this-buffer))
- (setq notmuch-indicator-add-to-mode-line-misc-info nil)
- (notmuch-indicator-mode t))
-
-;; use msmtp
-(setq message-send-mail-function 'message-send-mail-with-sendmail)
-(setq sendmail-program "/usr/bin/msmtp")
-
-(setq notmuch-show-logo t
- notmuch-column-control 1.0
- notmuch-hello-auto-refresh t
- notmuch-hello-recent-searches-max 20
- notmuch-hello-thousands-separator ""
- notmuch-hello-sections '(notmuch-hello-insert-header notmuch-hello-insert-saved-searches notmuch-hello-insert-search notmuch-hello-insert-alltags)
- notmuch-show-all-tags-list t)
+ (define-key global-map (kbd "C-c m") #'notmuch)
+ (setq notmuch-show-logo t
+ notmuch-column-control 1.0
+ notmuch-hello-auto-refresh t
+ notmuch-hello-recent-searches-max 20
+ notmuch-hello-thousands-separator ""
+ notmuch-hello-sections '(notmuch-hello-insert-header notmuch-hello-insert-saved-searches notmuch-hello-insert-search notmuch-hello-insert-alltags)
+ notmuch-show-all-tags-list t)
-(setq notmuch-search-oldest-first nil)
-(setq notmuch-show-seen-current-message t)
+ (setq notmuch-search-oldest-first nil)
+ (setq notmuch-show-seen-current-message t)
-(defun bard/notmuch-mua-empty-subject-check ()
- "Request confirmation before sending a message with empty subject."
- (when (and (null (message-field-value "Subject"))
- (not (y-or-n-p "Subject is empty, send anyway? ")))
- (error "Sending message cancelled: empty subject")))
-(add-hook 'message-send-hook 'bard/notmuch-mua-empty-subject-check)
+ (defun bard/notmuch-mua-empty-subject-check ()
+ "Request confirmation before sending a message with empty subject."
+ (when (and (null (message-field-value "Subject"))
+ (not (y-or-n-p "Subject is empty, send anyway? ")))
+ (error "Sending message cancelled: empty subject")))
+ (add-hook 'message-send-hook 'bard/notmuch-mua-empty-subject-check))
(setq notmuch-show-empty-saved-searches t)
(setq notmuch-saved-searches
@@ -107,4 +76,40 @@
notmuch-draft-folder "drafts"
notmuch-draft-save-plaintext 'ask)
+(use-package notmuch-indicator
+ :ensure t
+ :after notmuch
+ :config
+ (setq notmuch-indicator-args
+ '(( :terms "tag:unread and tag:inbox"
+ :label "[U] "
+ :label-face prot-modeline-indicator-green
+ :counter-face prot-modeline-indicator-green)
+ ( :terms "tag:unread and tag:linux"
+ :label "[L] "
+ :label-face prot-modeline-indicator-cyan
+ :counter-face prot-modeline-indicator-cyan)
+ ( :terms "tag:unread and tag:emacs"
+ :label "[E] "
+ :label-face prot-modeline-indicator-blue
+ :counter-face prot-modeline-indicator-blue))
+
+ notmuch-indicator-refresh-count (* 60 3)
+ notmuch-indicator-hide-empty-counters t
+ notmuch-indicator-force-refresh-commands '(notmuch-refresh-this-buffer))
+ (setq notmuch-indicator-add-to-mode-line-misc-info nil)
+ (notmuch-indicator-mode t))
+
+(use-package ol-notmuch
+ :ensure t
+ :after notmuch)
+
+;; use msmtp
+(setq sendmail-program "/usr/bin/msmtp"
+ message-send-mail-function 'message-send-mail-with-sendmail
+ message-sendmail-f-is-evil nil
+ mail-specify-envelope-from t
+ message-sendmail-envelope-from 'header
+ mail-envelope-from t)
+
(provide 'bard-emacs-email)
diff --git a/bard-emacs-modules/bard-emacs-emms.el b/bard-emacs-modules/bard-emacs-emms.el
deleted file mode 100644
index e69de29..0000000
--- a/bard-emacs-modules/bard-emacs-emms.el
+++ /dev/null
diff --git a/bard-emacs-modules/bard-emacs-essentials.el b/bard-emacs-modules/bard-emacs-essentials.el
index 05c6654..e8a0f17 100644
--- a/bard-emacs-modules/bard-emacs-essentials.el
+++ b/bard-emacs-modules/bard-emacs-essentials.el
@@ -1,6 +1,3 @@
-;;; Editing niceties
-
-;; writeable grep buffers
(use-package wgrep
:ensure t
:bind
@@ -12,7 +9,6 @@
(:map grep-mode-map
("e" . wgrep-change-to-wgrep-mode)))
-;; preview replace
(use-package multiple-cursors
:ensure t
:config
@@ -46,18 +42,10 @@
desktop-restore-=frams t
desktop-restory-in-current-display t
desktop-files-not-to-save "\(^$\\|\\*scratch\\*\\|\\*Messages\\*\\|\\*dashboard\\*\\|\\*Async-native-compile-log\\*|\\*Music\\*)")
-
-;;; General Keybinds
-
-;; Buffer switching
-(global-set-key (kbd "C-x C-b") 'ibuffer)
-
-;; Desktop/session save
;; (desktop-save-mode t)
(global-set-key (kbd "C-z s") 'desktop-save-in-desktop-dir)
(global-set-key (kbd "C-z r") 'desktop-read)
-;;; Scratch buffers
;; Text Scratch buffers
(defun bard/new-org-buffer ()
(interactive)
@@ -87,7 +75,6 @@
(text-scale-increase 1.5)
xbuf))
-;;; Terminals
(defun bard/open-terminal-in-current-directory ()
"Open a terminal in the current working directory."
(interactive)
@@ -107,7 +94,6 @@
(define-key global-map (kbd "C-z C-s") #'bard/new-elisp-buffer)
-;;; Time Management
;; Modeline
(setq display-time-format "%Y-%m-%d (%a) %H:%M")
(setq display-time-interval 60)
@@ -138,8 +124,11 @@
(use-package tmr
:ensure t
:config
- (setq tmr-sound-file "/home/bard/.local/bin/scripts/bell.mp3")
(setq tmr-notification-urgency 'normal)
+ (setq tmr-sound-file nil)
+ (setq tmr-timer-finished-functions '(tmr-notification-notify
+ tmr-print-message-for-finished-timer
+ tmr-acknowledge-minibuffer))
(setq tmr-descriptions-list 'tmr-description-history)
(define-key global-map (kbd "C-c t l") 'tmr-tabulated-view)
(define-key global-map (kbd "C-c t t") #'tmr)
@@ -152,16 +141,9 @@
(define-key global-map (kbd "C-c t r") #'tmr-remove)
(define-key global-map (kbd "C-c t R") #'tmr-remove-finished))
-;; running emacs as server
(require 'server)
(setq server-client-instructions nil)
(unless (server-running-p)
(server-start))
-(use-package treemacs
- :ensure t
- :bind
- ("M-`" . treemacs) ; uses old text-based menu keybind
- )
-
(provide 'bard-emacs-essentials)
diff --git a/bard-emacs-modules/bard-emacs-keyboard.el b/bard-emacs-modules/bard-emacs-keyboard.el
index 061907f..95a7b30 100644
--- a/bard-emacs-modules/bard-emacs-keyboard.el
+++ b/bard-emacs-modules/bard-emacs-keyboard.el
@@ -9,6 +9,7 @@
(setq evil-want-keybinding nil)
;; no vim insert bindings
(setq evil-undo-system 'undo-fu)
+ (setq evil-respect-visual-line-mode t)
:config
(evil-mode 1))
@@ -30,7 +31,7 @@
(general-create-definer bard/leader-keys
:states '(normal insert visual emacs)
:prefix "SPC"
- :global-prefix "C-SPC")
+ :global-prefix "C-S-SPC")
(bard/leader-keys
@@ -41,7 +42,7 @@
;; buffers
"b" '(:ignore t :which-key "buffers")
"bb" '(consult-buffer :which-key "switch buffer")
- "bd" '(kill-this-buffer :which-key "kill buffer")
+ "bk" '(kill-buffer :which-key "kill buffer")
"bs" '(save-buffer :which-key "save buffer")
;; windows
@@ -94,9 +95,14 @@
"t" '(:ignore t :which-key "toggle")
"tf" '(toggle-frame-fullscreen :which-key "fullscreen")
"tf" '(toggle-frame-fullscreen :which-key "fullscreen")
+
+ ;; help
+ "h" '(:ignore t :which-key "help")
+ "hr" '(info-emacs-manual :which-key "emacs manual")
+ "hR" '(info-display-manual :which-key "emacs search manual")
+ "hi" '(info :which-key "info")
)
)
(provide 'bard-emacs-keyboard)
-
diff --git a/bard-emacs-modules/bard-emacs-media.el b/bard-emacs-modules/bard-emacs-media.el
index 77c3556..7d15fa4 100644
--- a/bard-emacs-modules/bard-emacs-media.el
+++ b/bard-emacs-modules/bard-emacs-media.el
@@ -1,4 +1,3 @@
-;;;; EMMS
(use-package emms
:ensure t
;; :demand t
@@ -47,7 +46,6 @@
(setq bard/watch-later-file "~/Videos/watch-later.m3u")
)
-;;;; PDFS
(use-package pdf-tools
:ensure t
:config
diff --git a/bard-emacs-modules/bard-emacs-modeline.el b/bard-emacs-modules/bard-emacs-modeline.el
index f674b04..2b10722 100644
--- a/bard-emacs-modules/bard-emacs-modeline.el
+++ b/bard-emacs-modules/bard-emacs-modeline.el
@@ -26,7 +26,8 @@
mode-line-format-right-align
prot-modeline-notmuch-indicator
" "
- prot-modeline-misc-info))
+ prot-modeline-misc-info
+ " "))
(with-eval-after-load 'spacious-padding
(defun prot/modeline-spacious-indicators ()
diff --git a/bard-emacs-modules/bard-emacs-org.el b/bard-emacs-modules/bard-emacs-org.el
index 5b74ff4..a7a9666 100644
--- a/bard-emacs-modules/bard-emacs-org.el
+++ b/bard-emacs-modules/bard-emacs-org.el
@@ -20,10 +20,7 @@
(("C-c c" . org-capture))
:config
(setq org-goto-interface 'outline-path-completion)
- (setq safe-local-variable-values '((org-refile-targets (nil :maxlevel . 3))))
- ;; :hook
- ;; ((org-mode . org-num-mode))
- )
+ (setq safe-local-variable-values '((org-refile-targets (nil :maxlevel . 3)))))
;; Org Variables
(setq bard/org-anki-file "~/Notes/denote/20240729T171836--anki-flashcards__cards_meta.org")
@@ -205,7 +202,8 @@
:hook (org-mode . org-bullets-mode)
:config
(setq org-bullets-bullet-list '("◉" "○" "●" "🞛" "◇" "◆"))
- (set-fontset-font t 'symbol (font-spec :family "Iosevka Comfy") nil 'append)
- (set-fontset-font t 'unicode (font-spec :family "Iosevka Comfy") nil 'append))
+ ;; (set-fontset-font t 'symbol (font-spec :family "Iosevka Comfy") nil 'append)
+ ;; (set-fontset-font t 'unicode (font-spec :family "Iosevka Comfy") nil 'append)
+ )
(provide 'bard-emacs-org)
diff --git a/bard-emacs-modules/bard-emacs-prog.el b/bard-emacs-modules/bard-emacs-prog.el
index dddac09..98b2c18 100644
--- a/bard-emacs-modules/bard-emacs-prog.el
+++ b/bard-emacs-modules/bard-emacs-prog.el
@@ -24,6 +24,12 @@
(add-to-list 'exec-path bard/ghcup-path)))
;; Lisp
+(use-package clojure-mode
+ :ensure t)
+
+(use-package cider
+ :ensure t)
+
(use-package sly
:ensure t
:config
diff --git a/bard-emacs-modules/bard-emacs-theme.el b/bard-emacs-modules/bard-emacs-theme.el
index c729379..969adee 100644
--- a/bard-emacs-modules/bard-emacs-theme.el
+++ b/bard-emacs-modules/bard-emacs-theme.el
@@ -3,6 +3,79 @@
;; declare all themes as safe (i trust developers)
(setq custom-safe-themes t)
+(use-package ef-themes
+ :ensure t
+ :demand t
+ :hook
+ ((ef-themes-post-load . bard/ef-themes-hl-todo-faces)
+ (ef-themes-post-load . logos-update-fringe-in-buffers))
+ :config
+ (defun bard/ef-themes-hl-todo-faces ()
+ "Configure `hl-todo-keyword-faces' with Ef themes colors.
+The exact color values are taken from the active Ef theme."
+ (ef-themes-with-colors
+ (setq hl-todo-keyword-faces
+ `(("WAIT" . ,yellow)
+ ("TODO" . ,red)
+ ("NEXT" . ,blue)
+ ("THEM" . ,magenta)
+ ("PROG" . ,cyan-warmer)
+ ("OKAY" . ,green-warmer)
+ ("DONT" . ,yellow-warmer)
+ ("FAIL" . ,red-warmer)
+ ("BUG" . ,red-warmer)
+ ("DONE" . ,green)
+ ("NOTE" . ,blue-warmer)
+ ("KLUDGE" . ,cyan)
+ ("HACK" . ,cyan)
+ ("TEMP" . ,red)
+ ("FIXME" . ,red-warmer)
+ ("XXX+" . ,red-warmer)
+ ("KILLED" . ,cyan)
+ ("REVIEW" . ,red)
+ ("DEPRECATED" . ,yellow)))))
+
+ (setq org-priority-faces
+ '((?A . (:inherit (bold next-error)))
+ (?B . org-priority)
+ (?C . (:inherit (shadow org-priority)))))
+
+ ;; (setq ef-themes-headings
+ ;; '((0 variable-pitch bold 1.5)
+ ;; (1 variable-pitch bold 1.3)
+ ;; (2 regular 1.2)
+ ;; (3 1.1)
+ ;; (agenda-date . (variable-pitch bold 1.3))
+ ;; (agenda-structure . (variable-pitch bold 1.5))
+ ;; (t . 1.1)))
+
+ (setq ef-themes-headings
+ '((0 . (variable-pitch light 1.5))
+ (1 . (variable-pitch light 1.3))
+ (2 . (regular 1.2))
+ (t . (variable-pitch 1.1))
+ (agenda-date . (variable-pitch bold 1.3))
+ (agenda-structure . (variable-pitch bold 1.5))))
+
+ ;; better faces in overrides
+ (setq ef-themes-common-palette-overrides
+ `((fringe unspecified)
+ (bg-line-number-active bg-hl-line)
+ (bg-line-number-inactive unspecified)
+ (fg-line-number-active fg-main)
+ (bg-tab-bar bg-dim)))
+
+ ;; verbatim need higher contrast for org mode
+ (setq ef-elea-dark-palette-overrides
+ '((prose-verbatim yellow-cooler)))
+
+ (setq ef-elea-light-palette-overrides
+ '((prose-verbatim yellow-cooler)))
+
+ (define-key global-map (kbd "M-<f5>") #'ef-themes-select)
+ (setq ef-themes-variable-pitch-ui t
+ ef-themes-mixed-fonts t))
+
(use-package doom-themes
:ensure t
:config
@@ -10,12 +83,10 @@
(bard/select-theme 'doom-gruvbox)
)
-(use-package doom-modeline
+(use-package gruber-darker-theme
:ensure t
- :config
- (doom-modeline-mode t)
- (setq doom-modeline-buffer-file-name-style 'buffer-name)
- )
+ :vc (:url "https://github.com/BardofSprites/gruber-darker-theme"
+ :rev newest))
;;;; Fonts
(use-package fontaine
@@ -48,6 +119,20 @@
(org-mode . mixed-pitch-mode)
)
+(use-package spacious-padding
+ :ensure t
+ :config
+ (setq spacious-padding-widths
+ '( :internal-border-width 10
+ :header-line-width 4
+ :mode-line-width 6
+ :tab-width 4
+ :right-divider-width 1
+ :left-fringe-width 0
+ :right-fringe-width 0
+ :scroll-bar-width 0))
+ (spacious-padding-mode t))
+
(provide 'bard-emacs-theme)
;;; bard-emacs-theme.el ends here