diff options
| author | bd <bdunahu@operationnull.com> | 2024-10-28 21:12:40 -0400 | 
|---|---|---|
| committer | bd <bdunahu@operationnull.com> | 2024-10-28 21:13:41 -0400 | 
| commit | 89889525ccf70b36ac06e5bf9294ecf7fd0066de (patch) | |
| tree | 9413e969b24edcacadc1a1e087bcbe99080af029 | |
| parent | 1efe6886049b0143e55ccb77dc7d59966e9dd081 (diff) | |
More cleanup and use-package
| -rw-r--r-- | .config/emacs/init.el | 13 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--buffers.el | 2 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--devel.el | 2 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--erc.el | 7 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--files.el | 113 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--gpg.el | 16 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--image.el | 28 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--modeline.el | 7 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--notes.el | 60 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--org.el | 171 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--project.el | 18 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--rss.el | 35 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--tabs.el | 81 | ||||
| -rw-r--r-- | .config/emacs/modules/bd--themes.el | 8 | 
14 files changed, 264 insertions, 297 deletions
| diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 555e85f..3bfc73e 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -41,10 +41,19 @@          next-line-add-newlines t          scroll-up-aggressively '0.50          scroll-down-aggressively '0.50) +(setopt use-short-answers t +        vc-follow-symlinks t +        completion-ignore-case t +        read-buffer-completion-ignore-case t)  (setq-default tab-width 8) +(menu-bar-mode -1) +(tool-bar-mode -1) +(scroll-bar-mode -1) +(fringe-mode '(0 . 0))  (tooltip-mode -1)  (global-hl-line-mode 1)  (global-visual-line-mode t) +(minibuffer-depth-indicate-mode 1)  ;;;; gnus @@ -81,12 +90,13 @@  ;;;; load modules +(require 'bd--secret) ;; (gitignored)  (require 'bd--browse)  (require 'bd--rss)  (require 'bd--gpg)  (require 'bd--tabs) +(require 'bd--project)  (require 'bd--files) -(require 'bd--image)  (require 'bd--dictionary)  (require 'bd--erc)  (require 'bd--shells) @@ -99,7 +109,6 @@  (require 'bd--modeline)  (require 'bd--themes)  (require 'bd--exwm-windowing) -(require 'bd--secret) ;; (gitignored)  ;;; init.el ends here diff --git a/.config/emacs/modules/bd--buffers.el b/.config/emacs/modules/bd--buffers.el index c80e75f..c2702f4 100644 --- a/.config/emacs/modules/bd--buffers.el +++ b/.config/emacs/modules/bd--buffers.el @@ -3,6 +3,8 @@  ;;; Code: +(require 'selector) +  ;; dedication  (defun toggle-current-window-dedication ()    "Adds or revokes dedicated window status from a buffer. A diff --git a/.config/emacs/modules/bd--devel.el b/.config/emacs/modules/bd--devel.el index c1254b9..3f77a58 100644 --- a/.config/emacs/modules/bd--devel.el +++ b/.config/emacs/modules/bd--devel.el @@ -28,7 +28,7 @@ to.")  (indent-tabs-mode 0) -;; skr is a scheme extension +;; skr (skribe) is a scheme extension  (add-to-list 'auto-mode-alist '("\\.skr\\'" . scheme-mode))  (use-package autoformat diff --git a/.config/emacs/modules/bd--erc.el b/.config/emacs/modules/bd--erc.el index 4597fae..af5301b 100644 --- a/.config/emacs/modules/bd--erc.el +++ b/.config/emacs/modules/bd--erc.el @@ -3,7 +3,6 @@  ;;; Code: -(require 'erc)  (with-eval-after-load "erc" (defalias 'erc 'erc-tls))  (use-package erc    :defer t @@ -14,12 +13,6 @@    (erc-nick "Isaz")    (erc-prompt-for-password t)    (erc-kill-buffer-on-part t) -  ;; (erc-autojoin-channels-alist '(("libera.chat" -  ;;                                 "#emacs" -  ;;                                 "##furry" -  ;;                                 "#guile" -  ;;                                 "#guix" -  ;;                                 "#parabola")))    (erc-autojoin-channels-alist nil)    (erc-fill-function 'erc-fill-static)    (erc-fill-column 80) diff --git a/.config/emacs/modules/bd--files.el b/.config/emacs/modules/bd--files.el index 52b46ae..a39f21c 100644 --- a/.config/emacs/modules/bd--files.el +++ b/.config/emacs/modules/bd--files.el @@ -4,79 +4,64 @@  (require 'recentf) -(defmacro bd/defun-find-file-wrapper (name types open-f) -  `(defun ,name (f &rest args) -     "Wrapper around F (find-file), passing ARGS." -     (if (string-match (regexp-opt ,types) (or (file-name-extension (car args)) "")) -         (progn -           (,(eval open-f) (car args)) -           (recentf-add-file (car args)) -           nil) -       (apply f args)))) -;;;; dired -(defun bd/dired-find-file () -  (interactive) -  (if (file-directory-p (dired-get-file-for-visit)) -      (dired-find-alternate-file) -    (dired-find-file))) -(defun bd/dired-up-directory () -  (interactive) -  (let ((buf (current-buffer))) -    (dired-up-directory) -    (kill-buffer buf))) -(require 'dired) -(keymap-global-set "C-c d" 'dired-jump) -(keymap-set dired-mode-map "RET" #'bd/dired-find-file) -(keymap-set dired-mode-map "^" #'bd/dired-up-directory) -(setopt dired-listing-switches "-alhLG --time-style=long-iso --group-directories-first" - -        dired-recursive-copies 'always -        dired-recursive-deletes 'always - -        dired-auto-revert-buffer t - -        ;; "dwim": guess where to move files -        dired-dwim-target t - -        dired-guess-shell-alist-user -        `((,(regexp-opt '(".pdf")) "pdftotext -nopgbrk -enc UTF-8 -eol unix -layout") -          (,(regexp-opt '(".html")) "icecat &"))) - -;; pdf  (defun bd/zathura (file)    "Open FILE with zathura" -  (interactive) -  (start-process (concat "zathura (" (file-name-base file) ")") nil "zathura" (expand-file-name file))) - -(bd/defun-find-file-wrapper bd/pdf-find-file-wrapper -                            '("epub" "pdf") -                            #'bd/zathura) -(advice-add 'find-file :around #'bd/pdf-find-file-wrapper) - -;; video +  (start-process "zathura" nil "zathura" (expand-file-name file)))  (defun bd/mpv (file)    "Open FILE with mpv" -  (start-process (concat "mpv (" (file-name-base file) ")") nil "mpv" "--force-window=yes" (expand-file-name file))) - - -(bd/defun-find-file-wrapper bd/video-find-file-wrapper -                            '("mkv" "mov" "mp4" "webm" "m4v" "wav" "mp3" "opus" "ogv" "flac") -                            #'bd/mpv) -(advice-add 'find-file :around 'bd/video-find-file-wrapper) - -;; image +  (start-process "mpv" nil "mpv" "--force-window=yes" (expand-file-name file)))  (defun bd/nsxiv (file)    "Open FILE with nsxiv" -  (start-process (concat "nsxiv (" (file-name-base file) ")") nil "nsxiv" (expand-file-name file))) -(bd/defun-find-file-wrapper bd/image-find-file-wrapper -                            '("jpg" "jpeg" "png" "webp" "bmp" "ico" "gif" "JPG" "PNG") -                            #'bd/nsxiv) -(advice-add 'find-file :around 'bd/image-find-file-wrapper) - +  (start-process "nsxiv" nil "nsxiv" (expand-file-name file))) + +(defun bd/external-find-file-wrapper (f &rest args) +  "Wrapper around F (find-file), passing ARGS." +  (defun runner (f) +    (funcall f (car args)) +    (recentf-add-file (car args))) +   +  (let ((ext (or (file-name-extension (car args)) ""))) +    (cond +     ((string-match (regexp-opt '("epub" "pdf")) ext) +      (runner #'bd/zathura)) +     ((string-match (regexp-opt '("mkv" "mov" "mp4" "webm" "m4v" +				  "wav" "mp3" "opus" "ogv" "flac")) ext) +      (runner #'bd/mpv)) +     ((string-match (regexp-opt '("jpg" "jpeg" "png" "webp" +				  "ico" "gif" "JPG" "PNG")) ext) +      (runner #'bd/nsxiv)) +     (t (apply f args))))) +(advice-add 'find-file :around #'bd/external-find-file-wrapper) + +(use-package dired +  :bind +  (("C-c d" . dired-jump)) +  :config +  (defun bd/dired-find-file () +    (interactive) +    (if (file-directory-p (dired-get-file-for-visit)) +	(dired-find-alternate-file) +      (dired-find-file))) +  (defun bd/dired-up-directory () +    (interactive) +    (let ((buf (current-buffer))) +      (dired-up-directory) +      (kill-buffer buf))) +   +  (keymap-set dired-mode-map "RET" #'bd/dired-find-file) +  (keymap-set dired-mode-map "^" #'bd/dired-up-directory) +  :custom +  (dired-listing-switches "-alhLG --time-style=long-iso --group-directories-first") +  (dired-recursive-copies 'always) +  (dired-recursive-deletes 'always) +  (dired-auto-revert-buffer t) +  (dired-dwim-target t) +  (dired-guess-shell-alist-user +   `((,(regexp-opt '(".pdf")) "pdftotext -nopgbrk -enc UTF-8 -eol unix -layout") +     (,(regexp-opt '(".html")) "icecat &")))) -;;;; transmission  (use-package transmission    :bind    (:map transmission-mode-map diff --git a/.config/emacs/modules/bd--gpg.el b/.config/emacs/modules/bd--gpg.el index f3d55cb..ae4e527 100644 --- a/.config/emacs/modules/bd--gpg.el +++ b/.config/emacs/modules/bd--gpg.el @@ -4,13 +4,13 @@  (require 'f) +(require 'selector)  (defvar bd/password-store-kill-ring-pointer nil    "The tail of the kill ring whose car is the password.")  (defvar bd/password-store-time-before-clear 10    "The time before a killed password is cleared.") -;;;; passwords  (defun bd/password-store-list ()    "List password-store entries."    (mapcar (lambda (file) @@ -53,21 +53,19 @@    (interactive)    (selector (list (bd/selector-passwords)))) -;; pinentry  (use-package pinentry    :config    (pinentry-start) +  (defun pinentry-toggle () +    "Stops and starts Pinentry service. Workaround +for a bug I've encountered." +    (interactive) +    (pinentry-stop) +    (pinentry-start))    :custom    (enable-recursive-minibuffers t)    (pinentry-popup-prompt-window nil)) -(defun pinentry-toggle () -  "Stops and starts Pinentry service. Workaround -for a bug I've encountered." -  (interactive) -  (pinentry-stop) -  (pinentry-start)) -  (provide 'bd--gpg)  ;;; bd-gpg ends here diff --git a/.config/emacs/modules/bd--image.el b/.config/emacs/modules/bd--image.el index ca2a11a..b8aaccb 100644 --- a/.config/emacs/modules/bd--image.el +++ b/.config/emacs/modules/bd--image.el @@ -1,25 +1,21 @@  ;;; -*- lexical-binding: t; -*-  ;;; Commentary: +;;; not loaded bd 10/28/24  ;;; Code: -(require 'image-mode) -(defun toggle-mode-line () -  "If the mode line is displayed, toggle it off. +(use-package image-mode +  :custom +  (defun toggle-mode-line () +    "If the mode line is displayed, toggle it off.  If the mode line is off, set it to the default value." -  (interactive) -  (setq mode-line-format -        (if mode-line-format -            nil -          (default-value 'mode-line-format)))) - - -;;;; hooks -(add-hook 'image-mode-hook 'toggle-mode-line) - - -;;;; binds -(keymap-set image-mode-map "l" #'toggle-mode-line) +    (interactive) +    (setq mode-line-format +          (if mode-line-format +              nil +            (default-value 'mode-line-format)))) +  (add-hook 'image-mode-hook 'toggle-mode-line) +  (keymap-set image-mode-map "l" #'toggle-mode-line))  (provide 'bd--image) diff --git a/.config/emacs/modules/bd--modeline.el b/.config/emacs/modules/bd--modeline.el index 701c692..0602b19 100644 --- a/.config/emacs/modules/bd--modeline.el +++ b/.config/emacs/modules/bd--modeline.el @@ -1,11 +1,10 @@  ;;; -*- lexical-binding: t; -*-  ;;; Commentary: -;;; Note this currently requires many of the previous modules to be loaded -;;; to function properly. +;;; probably load this last  ;;; Code: -;;;; remove mode-line-clutter +;;;; remove all the stupid stupid stupid crap  (define-minor-mode minor-mode-blackout-mode    "Hides minor modes from the mode line."    t) @@ -19,7 +18,6 @@                (setcdr x (list "" original)))              (throw 'done t)))          mode-line-modes)) -  (global-set-key (kbd "C-c ,") 'minor-mode-blackout-mode)  (defface bd/underline-shadow @@ -72,7 +70,6 @@    (put construct 'risky-local-variable t)) -;; set elements; move modeline to top  (setq-default mode-line-format                (list                 mode-line-front-space diff --git a/.config/emacs/modules/bd--notes.el b/.config/emacs/modules/bd--notes.el index a9f58b5..fafc56a 100644 --- a/.config/emacs/modules/bd--notes.el +++ b/.config/emacs/modules/bd--notes.el @@ -12,6 +12,34 @@           ("C-c l" . 'denote-link))    :config    (require 'denote-journal-extras) + +  ;;;; skribe +  (defvar bd/denote-skribe-front-matter +    "(post + :title \"%s\" + :date %s + :tags '(\"%s\") + ;; identifier: %s +\n\n)") +  (defun bd/denote-skribe-format-date (date) +    "Format DATE as a scheme procedure." +    (format-time-string "(make-date* %Y %m %d %H %M)" date)) +  (defun bd/denote-format-keywords-for-skribe-front-matter (keywords) +    "Format front matter KEYWORDS for skribe file type. +KEYWORDS is a list of strings." +    (string-join keywords "\" \"")) +  (add-to-list 'denote-file-types '(skribe +                                    :extension ".skr" +                                    :date-function bd/denote-skribe-format-date +                                    :front-matter bd/denote-skribe-front-matter +                                    :title-key-regexp "^:title\\s-*" +                                    :title-value-function identity +                                    :title-value-reverse-function denote-trim-whitespace +                                    :keywords-key-regexp "^:tags\\s-*" +                                    :keywords-value-function bd/denote-format-keywords-for-skribe-front-matter +                                    :keywords-value-reverse-function denote-extract-keywords-from-front-matter +                                    :link my-denote-shell-link-format +                                    :link-in-context-regexp my-denote-shell-link-in-context-regexp))    :custom    (denote-file-type 'org)    (denote-known-keywords '("ss" "writing" "reading" "art" "csu" "umass" "cs" "guix" "emacs" "programs" "mem")) @@ -21,38 +49,6 @@    (denote-journal-extras-directory (expand-file-name "~/dc/log"))    (denote-journal-extras-title-format 'day-date-month-year)) -(require 'denote) -(defvar bd/denote-skribe-front-matter -  "(post - :title \"%s\" - :date %s - :tags '(\"%s\") - ;; identifier: %s -\n\n)") - -(defun bd/denote-skribe-format-date (date) -  "Format DATE as a scheme procedure." -  (format-time-string "(make-date* %Y %m %d %H %M)" date)) - -(defun bd/denote-format-keywords-for-skribe-front-matter (keywords) -  "Format front matter KEYWORDS for skribe file type. -KEYWORDS is a list of strings." -  (string-join keywords "\" \"")) - -(add-to-list 'denote-file-types '(skribe -                                  :extension ".skr" -                                  :date-function bd/denote-skribe-format-date -                                  :front-matter bd/denote-skribe-front-matter -                                  :title-key-regexp "^:title\\s-*" -                                  :title-value-function identity -                                  :title-value-reverse-function denote-trim-whitespace -                                  :keywords-key-regexp "^:tags\\s-*" -                                  :keywords-value-function bd/denote-format-keywords-for-skribe-front-matter -                                  :keywords-value-reverse-function denote-extract-keywords-from-front-matter -                                  :link my-denote-shell-link-format -                                  :link-in-context-regexp my-denote-shell-link-in-context-regexp)) - -  (provide 'bd--notes)  ;;; bd-notes ends here diff --git a/.config/emacs/modules/bd--org.el b/.config/emacs/modules/bd--org.el index f0bef3f..d1d7da4 100644 --- a/.config/emacs/modules/bd--org.el +++ b/.config/emacs/modules/bd--org.el @@ -11,97 +11,88 @@    (visual-fill-column-center-text t)    (visual-fill-column-width 120)) -(defun bd/org-mode-setup-hook () -  "Sets up improved org-mode defaults upon +(use-package org +  :bind +  (("C-c n a" . org-agenda) +   ("C-c n c" . org-capture) +   ("C-c n s" . org-schedule) +   ("C-c n d" . org-deadline) +   ("C-c n r" . org-refile)) +  :config +  (defun bd/org-mode-setup-hook () +    "Sets up improved org-mode defaults upon  each org file open." -  (org-indent-mode) -  (org-toggle-inline-images) -  (org-latex-preview '(16))) - -;;;; hooks -(add-hook 'org-mode-hook 'bd/org-mode-setup-hook) - -;;;; binds -(keymap-global-set "C-c n a" 'org-agenda) -(keymap-global-set "C-c n c" 'org-capture) -(keymap-global-set "C-c n s" 'org-schedule) -(keymap-global-set "C-c n d" 'org-deadline) -(keymap-global-set "C-c n r" 'org-refile) - -;;;; source blocks -(org-babel-do-load-languages - 'org-babel-load-languages - '((emacs-lisp . t) -   (shell . t) -   (lisp . t) -   (scheme . t) -   (dot . t))) - -;;;; standard -(setopt org-startup-folded 'show2levels -        org-ellipsis " ▾") - -;;;; export -(setopt org-export-with-toc nil -        org-export-preserve-breaks t) - -;;;; agenda -(advice-add 'org-refile :after 'org-save-all-org-buffers) ; after refiling tasks, save all buffers - -(setopt org-agenda-files -        `(,agenda-file "~/dc/agenda/archived_tasks.org") - -        org-deadline-warning-days 7 -        org-log-done 'time -        org-log-into-drawer "history" - -        org-todo-keywords -        '((sequence "TODO(t)" "NEXT(n!)" "HOLD(h!)" "|" "DONE(d)" "CANC(c)")) - -        org-refile-targets ; refile into the headings of these files, not tags -        '(("archived_tasks.org" :maxlevel . 1) -          ("agenda_tasks.org" :maxlevel . 1)) - -        org-capture-templates -        `(("c" " College") -          ("cs" "Software Engineering Theory" entry (file+olp ,agenda-file "CS520") -           "* TODO %?\n DEADLINE: %^t") -          ("cm" "Combinatorics/Graph Theory" entry (file+olp ,agenda-file "CS575") -           "* TODO %?\n DEADLINE: %^t") -          ("cc" "Compiler Techniques" entry (file+olp ,agenda-file "CS610") -           "* TODO %?\n DEADLINE: %^t") -          ("s" " Self") -          ("si" "Idea" entry (file+olp ,agenda-file "Idea / Return") -           "* TODO %?\n %u") -          ("sc" "Context" entry (file+olp ,agenda-file "Idea / Return") -           "* TODO %?\n %a") -          ("st" "Deadline" entry (file+olp ,agenda-file "Deadline") -           "* TODO %?\n DEADLINE: %^t") -          ("sb" "Book" entry (file+olp ,agenda-file "Book List") -           "* TODO %?\n %u")) - -        org-agenda-custom-commands -        '(("S" "Standard Block Agenda" -           ((tags-todo "*" -                       ((org-agenda-skip-function '(org-agenda-skip-if nil '(timestamp))) -                        (org-agenda-block-separator nil) -                        (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo  '("HOLD"))) -                        (org-agenda-overriding-header "Undated Tasks\n"))) -            (agenda "" ((org-agenda-span 8) -                        (org-deadline-warning-days 0) -                        (org-agenda-block-separator nil) -                        (org-scheduled-past-days 4) -                        (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo '("HOLD"))) -                        (org-agenda-overriding-header "\nUpcoming Tasks\n"))) -            (agenda "" ((org-agenda-time-grid nil) -                        (org-agenda-show-all-dates nil) -                        (org-agenda-span 21) -                        (org-deadline-warning-days 0) -                        (org-agenda-block-separator nil) -                        (org-agenda-entry-types '(:deadline)) -                        (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) -                        (org-agenda-overriding-header "\nFuture Deadlines (+21d)\n")))))) -        org-agenda-restore-windows-after-quit t) +    (org-indent-mode) +    (org-toggle-inline-images) +    (org-latex-preview '(16))) +  (add-hook 'org-mode-hook 'bd/org-mode-setup-hook) +   +  (org-babel-do-load-languages +   'org-babel-load-languages +   '((emacs-lisp . t) +     (shell . t) +     (lisp . t) +     (scheme . t) +     (dot . t))) + +  (advice-add 'org-refile :after 'org-save-all-org-buffers) +  :custom +  (org-startup-folded 'show2levels) +  (org-ellipsis " ▾") +  (org-export-with-toc nil) +  (org-export-preserve-breaks t) +  (org-agenda-files `(,agenda-file "~/dc/agenda/archived_tasks.org")) +  (org-deadline-warning-days 7) +  (org-log-done 'time) +  (org-log-into-drawer "history") +   +  (org-todo-keywords +   '((sequence "TODO(t)" "NEXT(n!)" "HOLD(h!)" "|" "DONE(d)" "CANC(c)"))) + +  (org-refile-targets ; refile into the headings of these files, not tags +   '(("archived_tasks.org" :maxlevel . 1) +     ("agenda_tasks.org" :maxlevel . 1))) +   +  (org-capture-templates +   `(("c" " College") +     ("cs" "Software Engineering Theory" entry (file+olp ,agenda-file "CS520") +      "* TODO %?\n DEADLINE: %^t") +     ("cm" "Combinatorics/Graph Theory" entry (file+olp ,agenda-file "CS575") +      "* TODO %?\n DEADLINE: %^t") +     ("cc" "Compiler Techniques" entry (file+olp ,agenda-file "CS610") +      "* TODO %?\n DEADLINE: %^t") +     ("s" " Self") +     ("si" "Idea" entry (file+olp ,agenda-file "Idea / Return") +      "* TODO %?\n %u") +     ("sc" "Context" entry (file+olp ,agenda-file "Idea / Return") +      "* TODO %?\n %a") +     ("st" "Deadline" entry (file+olp ,agenda-file "Deadline") +      "* TODO %?\n DEADLINE: %^t") +     ("sb" "Book" entry (file+olp ,agenda-file "Book List") +      "* TODO %?\n %u"))) + +  (org-agenda-restore-windows-after-quit t) +  (org-agenda-custom-commands +  '(("S" "Standard Block Agenda" +     ((tags-todo "*" +                 ((org-agenda-skip-function '(org-agenda-skip-if nil '(timestamp))) +                  (org-agenda-block-separator nil) +                  (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo  '("HOLD"))) +                  (org-agenda-overriding-header "Undated Tasks\n"))) +      (agenda "" ((org-agenda-span 8) +                  (org-deadline-warning-days 0) +                  (org-agenda-block-separator nil) +                  (org-scheduled-past-days 4) +                  (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo '("HOLD"))) +                  (org-agenda-overriding-header "\nUpcoming Tasks\n"))) +      (agenda "" ((org-agenda-time-grid nil) +                  (org-agenda-show-all-dates nil) +                  (org-agenda-span 21) +                  (org-deadline-warning-days 0) +                  (org-agenda-block-separator nil) +                  (org-agenda-entry-types '(:deadline)) +                  (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) +                  (org-agenda-overriding-header "\nFuture Deadlines (+21d)\n"))))))))  (provide 'bd--org) diff --git a/.config/emacs/modules/bd--project.el b/.config/emacs/modules/bd--project.el new file mode 100644 index 0000000..5828abd --- /dev/null +++ b/.config/emacs/modules/bd--project.el @@ -0,0 +1,18 @@ +;;; -*- lexical-binding: t; -*- +;;; Commentary: +;;; Code: + + +(use-package project +  :defer t +  :custom +  (project-switch-commands +   '((project-find-file "Find file") +     (project-find-regexp "Find regexp") +     (project-find-dir "Find directory") +     (magit-project-status "Magit") +     (project-shell "Shell")))) + + +(provide 'bd--project) +;;; bd-project ends here diff --git a/.config/emacs/modules/bd--rss.el b/.config/emacs/modules/bd--rss.el index eda6063..0c9009f 100644 --- a/.config/emacs/modules/bd--rss.el +++ b/.config/emacs/modules/bd--rss.el @@ -3,23 +3,24 @@  ;;; Code: -(keymap-global-set "C-z C-n" 'newsticker-show-news) - -(setopt newsticker-url-list-defaults nil -        newsticker-retrieval-interval (* 60 60 24) -        newsticker-automatically-mark-items-as-old nil -        newsticker-url-list '(("James Enge Mastodon" "https://mastodon.sdf.org/@jamesenge.rss" nil nil nil) -                              ("operationnull blog" "https://operationnull.com/atom.xml" nil nil nil) -                              ("Parabola GNU/Linux-libre" "https://www.parabola.nu/feeds/news/" nil nil nil) -                              ("suckless.org news" "https://suckless.org/atom.xml" nil nil nil) -                              ("Mental Outlaw" "https://vid.puffyan.us/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA" nil nil nil) -                              ("Luke Smith" "https://vid.puffyan.us/feed/channel/UC2eYFnH61tmytImy1mTYvhA" nil nil nil) -                              ("Protesilaos Stravrou" "https://vid.puffyan.us/feed/channel/UC0uTPqBCFIpZxlz_Lv1tk_g" nil nil nil)) -        ;; may require ./newsticker/groups to be cleared -        newsticker-groups '("Feeds" -                            ("READING" "James Enge Mastodon") -                            ("TECH" "Parabola GNU/Linux-libre" "suckless.org news" "operationnull blog") -                            ("VIDEO" "Mental Outlaw" "Luke Smith" "Protesilaos Stravrou"))) +(use-package newst-reader +  :bind (("C-z C-n" . newsticker-show-news)) +  :custom +  (newsticker-url-list-defaults nil) +  ;; one day +  (newsticker-retrieval-interval (* 60 60 24)) +  (newsticker-automatically-mark-items-as-old nil) +  (newsticker-url-list '(("James Enge Mastodon" "https://mastodon.sdf.org/@jamesenge.rss" nil nil nil) +                         ("operationnull blog" "https://operationnull.com/atom.xml" nil nil nil) +                         ("Parabola GNU/Linux-libre" "https://www.parabola.nu/feeds/news/" nil nil nil) +                         ("suckless.org news" "https://suckless.org/atom.xml" nil nil nil) +                         ("Mental Outlaw" "https://vid.puffyan.us/feed/channel/UC7YOGHUfC1Tb6E4pudI9STA" nil nil nil) +                         ("Luke Smith" "https://vid.puffyan.us/feed/channel/UC2eYFnH61tmytImy1mTYvhA" nil nil nil) +                         ("Protesilaos Stravrou" "https://vid.puffyan.us/feed/channel/UC0uTPqBCFIpZxlz_Lv1tk_g" nil nil nil))) +  (newsticker-groups '("Feeds" +                       ("READING" "James Enge Mastodon") +                       ("TECH" "Parabola GNU/Linux-libre" "suckless.org news" "operationnull blog") +                       ("VIDEO" "Mental Outlaw" "Luke Smith" "Protesilaos Stravrou"))))  (provide 'bd--rss) diff --git a/.config/emacs/modules/bd--tabs.el b/.config/emacs/modules/bd--tabs.el index f8ceab1..3bdf282 100644 --- a/.config/emacs/modules/bd--tabs.el +++ b/.config/emacs/modules/bd--tabs.el @@ -3,53 +3,40 @@  ;;; Code: -;;;; time and date -(require 'time) -(setq display-time-format "  %m/%d %H:%M" -      display-time-default-load-average nil) -(display-time) - -(defun bd/get-mode-line-modes (buffer) -  (with-current-buffer buffer -    (format-mode-line (remove '(t erc-modified-channels-object) mode-line-modes)))) - -;;;; turn tabs on, undo/redo mode -(setq tab-bar-show t) -(tab-bar-history-mode) -(tab-bar-select-tab 1) -(tab-bar-mode) - - -;;;; remove useless gui elements -(setopt tab-bar-format -        '(tab-bar-format-tabs -          tab-bar-format-align-right -          tab-bar-format-global) - -        tab-bar-close-button-show nil - -        ;; size -        tab-bar-auto-width-max nil) - -;;;; add useless text elements -(setopt tab-bar-tab-hints nil) - -(defun bd/tab-bar-name-function () -  (concat (tab-bar-tab-name-current) -          " " -          (bd/get-mode-line-modes (window-buffer (minibuffer-selected-window))))) - -(setopt project-switch-commands -        '((project-find-file "Find file") -          (project-find-regexp "Find regexp") -          (project-find-dir "Find directory") -          (magit-project-status "Magit") -          (project-shell "Shell"))) - -(keymap-global-set "C-x p v" 'magit-project-status) - - -(setq tab-bar-tab-name-function #'bd/tab-bar-name-function) +(use-package time +  :init +  (display-time) +  :custom +  (display-time-format "  %m/%d %H:%M") +  (display-time-default-load-average nil)) + +(use-package tab-bar +  :config +  (defun bd/get-mode-line-modes (buffer) +    (with-current-buffer buffer +      (format-mode-line (remove '(t erc-modified-channels-object) mode-line-modes)))) +  (defun bd/tab-bar-name-function () +    (concat (tab-bar-tab-name-current) +            " " +            (bd/get-mode-line-modes (window-buffer (minibuffer-selected-window))))) + +  (tab-bar-select-tab 1) +  (tab-bar-mode) +  (tab-bar-history-mode) +  :custom +  (tab-bar-tab-name-function #'bd/tab-bar-name-function) +  (tab-bar-show t) + +  ;; remove useless gui elements +  (tab-bar-format +   '(tab-bar-format-tabs +     tab-bar-format-align-right +     tab-bar-format-global)) +  (tab-bar-close-button-show nil) +  (tab-bar-auto-width-max nil) + +  ;; add useless text elements +  (tab-bar-tab-hints nil))  (provide 'bd--tabs) diff --git a/.config/emacs/modules/bd--themes.el b/.config/emacs/modules/bd--themes.el index b915cd2..135f77c 100644 --- a/.config/emacs/modules/bd--themes.el +++ b/.config/emacs/modules/bd--themes.el @@ -3,13 +3,7 @@  ;;; Code: -;;;; defaults -(menu-bar-mode -1) -(tool-bar-mode -1) -(scroll-bar-mode -1) -(fringe-mode '(0 . 0)) - -;;;; variable-pitch fonts +;; 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) | 
