summaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lisp/bandali-dired.el53
-rw-r--r--lisp/bandali-ebdb.el53
-rw-r--r--lisp/bandali-erc.el141
-rw-r--r--lisp/bandali-eshell.el65
-rw-r--r--lisp/bandali-gnus.el719
-rw-r--r--lisp/bandali-ibuffer.el139
-rw-r--r--lisp/bandali-ivy.el61
-rw-r--r--lisp/bandali-message.el133
-rw-r--r--lisp/bandali-org.el122
-rw-r--r--lisp/bandali-theme.el39
-rw-r--r--lisp/bandali-yasnippet.el26
11 files changed, 739 insertions, 812 deletions
diff --git a/lisp/bandali-dired.el b/lisp/bandali-dired.el
index c4ab6ff..394715d 100644
--- a/lisp/bandali-dired.el
+++ b/lisp/bandali-dired.el
@@ -24,17 +24,13 @@
;;; Code:
-(use-package ls-lisp
- :custom (ls-lisp-dirs-first t))
-
-(use-package dired
- :config
- (setq dired-dwim-target t
- dired-listing-switches "-alh"
- ls-lisp-use-insert-directory-program nil)
+(with-eval-after-load 'dired
+ (csetq dired-dwim-target t
+ dired-listing-switches "-alh"
+ ls-lisp-dirs-first t
+ ls-lisp-use-insert-directory-program nil)
(declare-function dired-dwim-target-directory "dired-aux")
-
;; easily diff 2 marked files
;; https://oremacs.com/2017/03/18/dired-ediff/
(defun dired-ediff-files ()
@@ -59,25 +55,28 @@
(set-window-configuration wnd))))
(error "no more than 2 files should be marked"))))
+ ;; local key bindings
+ (define-key dired-mode-map (kbd "b") #'dired-up-directory)
+ (define-key dired-mode-map (kbd "E") #'dired-ediff-files)
+ (define-key dired-mode-map (kbd "e") #'dired-toggle-read-only)
+ (define-key dired-mode-map (kbd "\\") #'dired-hide-details-mode)
+ (define-key dired-mode-map (kbd "z")
+ (lambda ()
+ (interactive)
+ (b/dired-start-process "zathura")))
+
(require 'dired-x)
- (setq dired-guess-shell-alist-user
- '(("\\.pdf\\'" "evince" "zathura" "okular")
- ("\\.doc\\'" "libreoffice")
- ("\\.docx\\'" "libreoffice")
- ("\\.ppt\\'" "libreoffice")
- ("\\.pptx\\'" "libreoffice")
- ("\\.xls\\'" "libreoffice")
- ("\\.xlsx\\'" "libreoffice")
- ("\\.flac\\'" "mpv")))
- :bind (:map dired-mode-map
- ("b" . dired-up-directory)
- ("E" . dired-ediff-files)
- ("e" . dired-toggle-read-only)
- ("\\" . dired-hide-details-mode)
- ("z" . (lambda ()
- (interactive)
- (b/dired-start-process "zathura"))))
- :hook (dired-mode . dired-hide-details-mode))
+ (csetq dired-guess-shell-alist-user
+ '(("\\.pdf\\'" "evince" "zathura" "okular")
+ ("\\.doc\\'" "libreoffice")
+ ("\\.docx\\'" "libreoffice")
+ ("\\.ppt\\'" "libreoffice")
+ ("\\.pptx\\'" "libreoffice")
+ ("\\.xls\\'" "libreoffice")
+ ("\\.xlsx\\'" "libreoffice")
+ ("\\.flac\\'" "mpv"))))
+;; hooks
+(add-hook 'dired-mode-hook #'dired-hide-details-mode)
(provide 'bandali-dired)
;;; bandali-dired.el ends here
diff --git a/lisp/bandali-ebdb.el b/lisp/bandali-ebdb.el
index a7315c4..4d21978 100644
--- a/lisp/bandali-ebdb.el
+++ b/lisp/bandali-ebdb.el
@@ -24,48 +24,29 @@
;;; Code:
-(use-package ebdb
- :demand
- :after gnus
- :bind (:map gnus-group-mode-map ("e" . ebdb))
- :config
- (setq ebdb-sources (b/var "ebdb"))
+(with-eval-after-load 'gnus
+ (require 'ebdb)
+ (csetq ebdb-sources (b/var "ebdb"))
(with-eval-after-load 'swiper
- (add-to-list 'swiper-font-lock-exclude 'ebdb-mode t)))
+ (add-to-list 'swiper-font-lock-exclude #'ebdb-mode t))
+ ;; local key bindings
+ (define-key gnus-group-mode-map (kbd "e") #'ebdb))
-(use-package ebdb-com
- :after ebdb)
+(with-eval-after-load 'ebdb
+ (with-eval-after-load 'ebdb-complete
+ ;; (csetq ebdb-complete-mail 'capf)
+ (ebdb-complete-enable))
-(use-package ebdb-complete
- :after ebdb
- :config
- ;; (setq ebdb-complete-mail 'capf)
- (ebdb-complete-enable))
+ (require 'ebdb-message)
+
+ (require 'ebdb-gnus)
+ (csetq ebdb-gnus-window-size 0.3)
-(use-package ebdb-message
- :demand
- :after ebdb)
+ (require 'ebdb-mua)
+ (csetq ebdb-mua-pop-up t))
-;; (use-package company-ebdb
-;; :config
+;; (with-eval-after-load 'company-ebdb
;; (defun company-ebdb--post-complete (_) nil))
-(use-package ebdb-gnus
- :demand
- :after ebdb
- :custom
- (ebdb-gnus-window-size 0.3))
-
-(use-package ebdb-mua
- :demand
- :after ebdb
- :custom (ebdb-mua-pop-up t))
-
-;; (use-package ebdb-message
-;; :after ebdb)
-
-;; (use-package ebdb-vcard
-;; :after ebdb)
-
(provide 'bandali-ebdb)
;;; bandali-ebdb.el ends here
diff --git a/lisp/bandali-erc.el b/lisp/bandali-erc.el
index 89ec6a0..0166140 100644
--- a/lisp/bandali-erc.el
+++ b/lisp/bandali-erc.el
@@ -24,20 +24,19 @@
;;; Code:
-(use-package erc
- :bind ("C-c w e" . erc-switch-to-buffer-other-window)
- :custom
- (erc-auto-query 'bury)
- (erc-autojoin-domain-only nil)
- (erc-format-nick-function 'erc-format-@nick)
- (erc-join-buffer 'bury)
- (erc-lurker-hide-list '("JOIN" "PART" "QUIT"))
- (erc-nick "bandali")
- (erc-prompt "erc>")
- (erc-rename-buffers t)
- (erc-server-reconnect-attempts 5)
- (erc-server-reconnect-timeout 3)
- :config
+(with-eval-after-load 'erc
+ (csetq
+ erc-auto-query 'bury
+ erc-autojoin-domain-only nil
+ erc-format-nick-function 'erc-format-@nick
+ erc-join-buffer 'bury
+ erc-lurker-hide-list '("JOIN" "PART" "QUIT")
+ erc-nick "bandali"
+ erc-prompt "erc>"
+ erc-rename-buffers t
+ erc-server-reconnect-attempts 5
+ erc-server-reconnect-timeout 3)
+
(declare-function erc-message "erc-backend"
(message-command line &optional force))
(declare-function erc-default-target "erc")
@@ -57,72 +56,62 @@
(add-to-list 'erc-modules 'smiley)
(add-to-list 'erc-modules 'spelling)
(declare-function erc-update-modules "erc")
- (erc-update-modules))
-
-(use-package erc-fill
- :after erc
- :custom
- (erc-fill-column 77)
- (erc-fill-function 'erc-fill-static)
- (erc-fill-static-center 18))
-
-(use-package erc-match
- :disabled
- :after erc
- :config
- (set-face-attribute
- 'erc-pal-face nil
- :foreground 'unspecified
- :weight 'unspecified
- ;; :inherit 'font-lock-string-face
- ;; :background (face-attribute 'font-lock-string-face :background)
- :background "#ffffed")
- :custom
- (erc-pal-highlight-type 'message)
- (erc-pals
- '("aindilis" "blackbeard" "bremner" "brettgilio" "civodul" "dto"
- "ggoes" "jrasata" "jxself" "mplsCorwin" "quiliro" "rindolf" "rwp"
- "sachac" "technomancy")))
-
-(use-package erc-pcomplete
- :after erc
- :custom
- (erc-pcomplete-nick-postfix ", "))
-
-(use-package erc-track
- :after erc
- :bind (("C-c a e t d" . erc-track-disable)
- ("C-c a e t e" . erc-track-enable)
- ("C-c a e M-a" . erc-track-switch-buffer-other-window)
- :map erc-mode-map
- ("M-a" . erc-track-switch-buffer))
- :custom
- (erc-track-enable-keybindings nil)
- (erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT"
- "324" "329" "332" "333" "353" "477"))
- (erc-track-position-in-mode-line t)
- (erc-track-priority-faces-only 'all)
- (erc-track-shorten-function nil)
- (erc-track-showcount t))
-
-(use-package erc-hl-nicks
- :after erc)
-
-(use-package znc
- :bind (("C-c a e e" . znc-erc)
- ("C-c a e a" . znc-all))
- :config
+ (erc-update-modules)
+
+ ;; erc-fill
+ (csetq
+ erc-fill-column 77
+ erc-fill-function 'erc-fill-static
+ erc-fill-static-center 18)
+
+ ;; erc-match
+ ;; (csetq
+ ;; erc-pal-highlight-type 'message
+ ;; erc-pals
+ ;; '("aindilis" "blackbeard" "bremner" "brettgilio" "civodul" "dto"
+ ;; "ggoes" "jrasata" "jxself" "mplsCorwin" "quiliro" "rindolf" "rwp"
+ ;; "sachac" "technomancy"))
+ ;; (with-eval-after-load 'erc-match
+ ;; (set-face-attribute
+ ;; 'erc-pal-face nil
+ ;; :foreground 'unspecified
+ ;; :weight 'unspecified
+ ;; ;; :inherit 'font-lock-string-face
+ ;; ;; :background (face-attribute 'font-lock-string-face :background)
+ ;; :background "#ffffed"))
+
+ ;; erc-pcomplete
+ (csetq erc-pcomplete-nick-postfix ", ")
+
+ ;; erc-track
+ (csetq
+ erc-track-enable-keybindings nil
+ erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT"
+ "324" "329" "332" "333" "353" "477")
+ erc-track-position-in-mode-line t
+ erc-track-priority-faces-only 'all
+ erc-track-shorten-function nil
+ erc-track-showcount t)
+
+ ;; key bindings
+ (global-set-key (kbd "C-c w e") #'erc-switch-to-buffer-other-window)
+ (define-key erc-mode-map (kbd "M-a") #'erc-track-switch-buffer))
+
+(with-eval-after-load 'znc
(let ((pwd (let ((auth (auth-source-search :host "znca")))
(cond
((null auth) (error "Couldn't find znca's authinfo"))
(t (funcall (plist-get (car auth) :secret)))))))
- (setq znc-servers
- `(("znc.emacsconf.org" 6697 t
- ((freenode "bandali/freenode" ,pwd)))
- ("znc.emacsconf.org" 6697 t
- ((oftc "bandali/oftc" ,pwd)))
- ("znc.emacsconf.org" 6697 t
- ((tildechat "bandali/tildechat" ,pwd)))))))
+ (csetq znc-servers
+ `(("znc.emacsconf.org" 6697 t
+ ((freenode "bandali/freenode" ,pwd)))
+ ("znc.emacsconf.org" 6697 t
+ ((oftc "bandali/oftc" ,pwd)))
+ ("znc.emacsconf.org" 6697 t
+ ((tildechat "bandali/tildechat" ,pwd)))))))
+;; global key bindings
+(global-set-key (kbd "C-c a e e") #'znc-erc)
+(global-set-key (kbd "C-c a e a") #'znc-all)
(provide 'bandali-erc)
;;; bandali-erc.el ends here
diff --git a/lisp/bandali-eshell.el b/lisp/bandali-eshell.el
index 099cbb3..5a83c6d 100644
--- a/lisp/bandali-eshell.el
+++ b/lisp/bandali-eshell.el
@@ -24,10 +24,23 @@
;;; Code:
-(use-package eshell
- :commands eshell
- :bind ("C-c a s e" . eshell)
- :config
+(with-eval-after-load 'eshell
+ (csetq
+ eshell-hist-ignoredups t
+ eshell-input-filter #'eshell-input-filter-initial-space
+ eshell-prompt-regexp "\\(.*\n\\)*[$#] "
+ eshell-prompt-function
+ (lambda ()
+ (concat
+ (propertize (format "%s@%s:" (user-login-name) (system-name))
+ 'face 'default)
+ (propertize (abbreviate-file-name default-directory)
+ 'face 'font-lock-comment-face)
+ (propertize "\n" 'face 'default)
+ (if (= (user-uid) 0)
+ (propertize "#" 'face 'red)
+ (propertize "$" 'face 'default))
+ (propertize " " 'face 'default))))
(eval-when-compile
(defvar eshell-prompt-regexp)
(declare-function eshell-life-is-too-much "esh-mode")
@@ -38,13 +51,11 @@
(if (and (eolp) (looking-back eshell-prompt-regexp nil))
(eshell-life-is-too-much)
(delete-char arg)))
-
(defun b/eshell-clear ()
(interactive)
(let ((inhibit-read-only t))
(erase-buffer))
(eshell-send-input))
-
(defun b/eshell-setup ()
(make-local-variable 'company-idle-delay)
(defvar company-idle-delay)
@@ -52,33 +63,21 @@
(defvar eshell-mode-map)
(defvar eshell-hist-mode-map))
(setq company-idle-delay nil)
- (bind-keys :map eshell-mode-map
- ("C-d" . b/eshell-quit-or-delete-char)
- ("C-S-l" . b/eshell-clear)
- ("M-r" . counsel-esh-history)
- ;; ([tab] . company-complete)
- :map eshell-hist-mode-map
- ("M-r" . counsel-esh-history)))
-
- (setq
- eshell-prompt-regexp "\\(.*\n\\)*[$#] "
- eshell-prompt-function
- (lambda ()
- (concat
- (propertize (format "%s@%s:" (user-login-name) (system-name))
- 'face 'default)
- (propertize (abbreviate-file-name default-directory)
- 'face 'font-lock-comment-face)
- (propertize "\n" 'face 'default)
- (if (= (user-uid) 0)
- (propertize "#" 'face 'red)
- (propertize "$" 'face 'default))
- (propertize " " 'face 'default))))
-
- :hook (eshell-mode . b/eshell-setup)
- :custom
- (eshell-hist-ignoredups t)
- (eshell-input-filter 'eshell-input-filter-initial-space))
+ ;; local key bindings
+ (define-key eshell-mode-map (kbd "C-d")
+ #'b/eshell-quit-or-delete-char)
+ (define-key eshell-mode-map (kbd "C-S-l")
+ #'b/eshell-clear)
+ (define-key eshell-mode-map (kbd "M-r")
+ #'counsel-esh-history)
+ ;; (define-key eshell-mode-map [tab]
+ ;; #'company-complete)
+ (define-key eshell-hist-mode-map (kbd "M-r")
+ #'counsel-esh-history)))
+;; global key bindings
+(global-set-key (kbd "C-c a s e") #'eshell)
+;; hooks
+(add-hook 'eshell-mode-hook #'b/eshell-setup)
(provide 'bandali-eshell)
;;; bandali-eshell.el ends here
diff --git a/lisp/bandali-gnus.el b/lisp/bandali-gnus.el
index 0c5dc97..4aa41ab 100644
--- a/lisp/bandali-gnus.el
+++ b/lisp/bandali-gnus.el
@@ -40,256 +40,250 @@
(declare-function article-make-date-line "gnus-art" (date type))
-(setq
- mail-user-agent 'gnus-user-agent
- read-mail-command 'gnus)
-
-(use-package gnus
- :bind (("s-m" . gnus-plugged)
- ("s-M" . gnus-unplugged)
- ("C-c a m" . gnus-plugged)
- ("C-c a M" . gnus-unplugged))
- :init
- (setq
- gnus-select-method '(nnnil "")
- gnus-secondary-select-methods
- '((nnimap "shemshak"
- (nnimap-stream plain)
- (nnimap-address "127.0.0.1")
- (nnimap-server-port 143)
- (nnimap-authenticator plain)
- (nnimap-user "bandali@shemshak.local"))
- (nnimap "gnu"
- (nnimap-stream plain)
- (nnimap-address "127.0.0.1")
- (nnimap-server-port 143)
- (nnimap-authenticator plain)
- (nnimap-user "bandali@gnu.local")
- (nnimap-inbox "INBOX")
- (nnimap-split-methods 'nnimap-split-fancy)
- (nnimap-split-fancy (|
- ;; (: gnus-registry-split-fancy-with-parent)
- ;; (: gnus-group-split-fancy "INBOX" t "INBOX")
- ;; keep debbugs emails in INBOX
- (list ".*<\\(.*\\)\\.debbugs\\.gnu\\.org>.*" "INBOX")
- ;; gnu
- (list ".*<\\(.*\\)\\.\\(non\\)?gnu\\.org>.*" "l.\\1")
- ;; gnus
- (list ".*<\\(.*\\)\\.gnus\\.org>.*" "l.\\1")
- ;; libreplanet
- (list ".*<\\(.*\\)\\.libreplanet\\.org>.*" "l.\\1")
- ;; iana (e.g. tz-announce)
- (list ".*<\\(.*\\)\\.iana\\.org>.*" "l.\\1")
- ;; orbitalfox (e.g. gemini)
- (list ".*<\\(.*\\)\\.lists\\.orbitalfox\\.eu>.*" "l.\\1")
- ;; *.lists.sr.ht, omitting one dot if present
- ;; add more \\.?\\([^.]*\\) if needed
- (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists\\.sr\\.ht>.*" "l.~\\1.\\2\\3")
- ;; webmasters
- (from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
- ;; other
- (list ".*atreus.freelists.org" "l.atreus")
- (list ".*deepspec.lists.cs.princeton.edu" "l.deepspec")
- ;; (list ".*haskell-art.we.lurk.org" "l.haskell.art") ;d
- (list ".*haskell-cafe.haskell.org" "l.haskell-cafe")
- ;; (list ".*notmuch.notmuchmail.org" "l.notmuch") ;u
- (list ".*dev.lists.parabola.nu" "l.parabola-dev")
- ;; ----------------------------------
- ;; legend: (u)nsubscribed | (d)ead
- ;; ----------------------------------
- ;; spam
- ("X-Spam_action" "reject" "Junk")
- ;; otherwise, leave mail in INBOX
- "INBOX")))
- (nnimap "uwaterloo"
- (nnimap-stream plain)
- (nnimap-address "127.0.0.1")
- (nnimap-server-port 143)
- (nnimap-authenticator plain)
- (nnimap-user "abandali@uwaterloo.local")
- (nnimap-inbox "INBOX")
- (nnimap-split-methods 'nnimap-split-fancy)
- (nnimap-split-fancy (|
- ;; (: gnus-registry-split-fancy-with-parent)
- ;; se212-f19
- ("subject" "SE\\s-?212" "course.se212-f19")
- (from "SE\\s-?212" "course.se212-f19")
- ;; catch-all
- "INBOX")))
- (nnimap "csc"
- (nnimap-stream plain)
- (nnimap-address "127.0.0.1")
- (nnimap-server-port 143)
- (nnimap-authenticator plain)
- (nnimap-user "abandali@csclub.uwaterloo.local")
- (nnimap-inbox "INBOX")
- (nnimap-split-methods 'nnimap-split-fancy)
- (nnimap-split-fancy (|
- ;; cron reports and other messages from root
- (from "root@\\(.*\\.\\)?csclub\\.uwaterloo\\.ca" "INBOX")
- ;; spam
- ("X-Spam-Flag" "YES" "Junk")
- ;; catch-all
- "INBOX")))
- (nnimap "sfl"
- (nnimap-stream tls)
- (nnimap-address "mail.savoirfairelinux.com")
- (nnimap-user "amin.bandali")))
- gnus-message-archive-group "nnimap+gnu:INBOX"
- gnus-parameters
- '(("l\\.atreus"
- (to-address . "atreus@freelists.org")
- (to-list . "atreus@freelists.org"))
- ("l\\.deepspec"
- (to-address . "deepspec@lists.cs.princeton.edu")
- (to-list . "deepspec@lists.cs.princeton.edu")
- (list-identifier . "\\[deepspec\\]"))
- ("l\\.emacs-devel"
- (to-address . "emacs-devel@gnu.org")
- (to-list . "emacs-devel@gnu.org"))
- ("l\\.help-gnu-emacs"
- (to-address . "help-gnu-emacs@gnu.org")
- (to-list . "help-gnu-emacs@gnu.org"))
- ("l\\.info-gnu-emacs"
- (to-address . "info-gnu-emacs@gnu.org")
- (to-list . "info-gnu-emacs@gnu.org"))
- ("l\\.emacs-orgmode"
- (to-address . "emacs-orgmode@gnu.org")
- (to-list . "emacs-orgmode@gnu.org")
- (list-identifier . "\\[O\\]"))
- ("l\\.emacs-tangents"
- (to-address . "emacs-tangents@gnu.org")
- (to-list . "emacs-tangents@gnu.org"))
- ("l\\.emacsconf-committee"
- (to-address . "emacsconf-committee@gnu.org")
- (to-list . "emacsconf-committee@gnu.org"))
- ("l\\.emacsconf-discuss"
- (to-address . "emacsconf-discuss@gnu.org")
- (to-list . "emacsconf-discuss@gnu.org"))
- ("l\\.emacsconf-org"
- (to-address . "emacsconf-org@gnu.org")
- (to-list . "emacsconf-org@gnu.org"))
- ("l\\.emacsconf-org-private"
- (to-address . "emacsconf-org-private@gnu.org")
- (to-list . "emacsconf-org-private@gnu.org"))
- ("l\\.emacsconf-register"
- (to-address . "emacsconf-register@gnu.org")
- (to-list . "emacsconf-register@gnu.org"))
- ("l\\.emacsconf-submit"
- (to-address . "emacsconf-submit@gnu.org")
- (to-list . "emacsconf-submit@gnu.org"))
- ("l\\.fencepost-users"
- (to-address . "fencepost-users@gnu.org")
- (to-list . "fencepost-users@gnu.org")
- (list-identifier . "\\[Fencepost-users\\]"))
- ("l\\.gnewsense-art"
- (to-address . "gnewsense-art@nongnu.org")
- (to-list . "gnewsense-art@nongnu.org")
- (list-identifier . "\\[gNewSense-art\\]"))
- ("l\\.gnewsense-dev"
- (to-address . "gnewsense-dev@nongnu.org")
- (to-list . "gnewsense-dev@nongnu.org")
- (list-identifier . "\\[Gnewsense-dev\\]"))
- ("l\\.gnewsense-users"
- (to-address . "gnewsense-users@nongnu.org")
- (to-list . "gnewsense-users@nongnu.org")
- (list-identifier . "\\[gNewSense-users\\]"))
- ("l\\.gnunet-developers"
- (to-address . "gnunet-developers@gnu.org")
- (to-list . "gnunet-developers@gnu.org")
- (list-identifier . "\\[GNUnet-developers\\]"))
- ("l\\.help-gnunet"
- (to-address . "help-gnunet@gnu.org")
- (to-list . "help-gnunet@gnu.org")
- (list-identifier . "\\[Help-gnunet\\]"))
- ("l\\.bug-gnuzilla"
- (to-address . "bug-gnuzilla@gnu.org")
- (to-list . "bug-gnuzilla@gnu.org")
- (list-identifier . "\\[Bug-gnuzilla\\]"))
- ("l\\.gnuzilla-dev"
- (to-address . "gnuzilla-dev@gnu.org")
- (to-list . "gnuzilla-dev@gnu.org")
- (list-identifier . "\\[Gnuzilla-dev\\]"))
- ("l\\.guile-devel"
- (to-address . "guile-devel@gnu.org")
- (to-list . "guile-devel@gnu.org"))
- ("l\\.guile-user"
- (to-address . "guile-user@gnu.org")
- (to-list . "guile-user@gnu.org"))
- ("l\\.guix-devel"
- (to-address . "guix-devel@gnu.org")
- (to-list . "guix-devel@gnu.org"))
- ("l\\.help-guix"
- (to-address . "help-guix@gnu.org")
- (to-list . "help-guix@gnu.org"))
- ("l\\.info-guix"
- (to-address . "info-guix@gnu.org")
- (to-list . "info-guix@gnu.org"))
- ("l\\.savannah-hackers-public"
- (to-address . "savannah-hackers-public@gnu.org")
- (to-list . "savannah-hackers-public@gnu.org"))
- ("l\\.savannah-users"
- (to-address . "savannah-users@gnu.org")
- (to-list . "savannah-users@gnu.org"))
- ("l\\.www-commits"
- (to-address . "www-commits@gnu.org")
- (to-list . "www-commits@gnu.org"))
- ("l\\.www-discuss"
- (to-address . "www-discuss@gnu.org")
- (to-list . "www-discuss@gnu.org"))
- ("l\\.haskell-art"
- (to-address . "haskell-art@we.lurk.org")
- (to-list . "haskell-art@we.lurk.org")
- (list-identifier . "\\[haskell-art\\]"))
- ("l\\.haskell-cafe"
- (to-address . "haskell-cafe@haskell.org")
- (to-list . "haskell-cafe@haskell.org")
- (list-identifier . "\\[Haskell-cafe\\]"))
- ("l\\.notmuch"
- (to-address . "notmuch@notmuchmail.org")
- (to-list . "notmuch@notmuchmail.org"))
- ("l\\.parabola-dev"
- (to-address . "dev@lists.parabola.nu")
- (to-list . "dev@lists.parabola.nu")
- (list-identifier . "\\[Dev\\]"))
- ("l\\.~bandali\\.public-inbox"
- (to-address . "~bandali/public-inbox@lists.sr.ht")
- (to-list . "~bandali/public-inbox@lists.sr.ht"))
- ("l\\.~sircmpwn\\.free-writers-club"
- (to-address . "~sircmpwn/free-writers-club@lists.sr.ht")
- (to-list . "~sircmpwn/free-writers-club@lists.sr.ht"))
- ("l\\.~sircmpwn\\.srht-admins"
- (to-address . "~sircmpwn/sr.ht-admins@lists.sr.ht")
- (to-list . "~sircmpwn/sr.ht-admins@lists.sr.ht"))
- ("l\\.~sircmpwn\\.srht-announce"
- (to-address . "~sircmpwn/sr.ht-announce@lists.sr.ht")
- (to-list . "~sircmpwn/sr.ht-announce@lists.sr.ht"))
- ("l\\.~sircmpwn\\.srht-dev"
- (to-address . "~sircmpwn/sr.ht-dev@lists.sr.ht")
- (to-list . "~sircmpwn/sr.ht-dev@lists.sr.ht"))
- ("l\\.~sircmpwn\\.srht-discuss"
- (to-address . "~sircmpwn/sr.ht-discuss@lists.sr.ht")
- (to-list . "~sircmpwn/sr.ht-discuss@lists.sr.ht"))
- ("webmasters"
- (to-address . "webmasters@gnu.org")
- (to-list . "webmasters@gnu.org"))
- ("gnu.*"
- (gcc-self . t))
- ("l\\."
- (subscribed . t))
- ("nnimap\\+uwaterloo:.*"
- (gcc-self . t)))
- ;; nnimap-record-commands t
- gnus-large-newsgroup 50
- gnus-home-directory (b/var "gnus/")
- gnus-directory (concat gnus-home-directory "news/")
- message-directory (concat gnus-home-directory "mail/")
- nndraft-directory (concat gnus-home-directory "drafts/")
- gnus-save-newsrc-file nil
- gnus-read-newsrc-file nil
- gnus-interactive-exit nil
- gnus-gcc-mark-as-read t)
- :config
+(csetq
+ mail-user-agent 'gnus-user-agent
+ read-mail-command 'gnus
+
+ gnus-select-method '(nnnil "")
+ gnus-secondary-select-methods
+ '((nnimap "shemshak"
+ (nnimap-stream plain)
+ (nnimap-address "127.0.0.1")
+ (nnimap-server-port 143)
+ (nnimap-authenticator plain)
+ (nnimap-user "bandali@shemshak.local"))
+ (nnimap "gnu"
+ (nnimap-stream plain)
+ (nnimap-address "127.0.0.1")
+ (nnimap-server-port 143)
+ (nnimap-authenticator plain)
+ (nnimap-user "bandali@gnu.local")
+ (nnimap-inbox "INBOX")
+ (nnimap-split-methods 'nnimap-split-fancy)
+ (nnimap-split-fancy (|
+ ;; (: gnus-registry-split-fancy-with-parent)
+ ;; (: gnus-group-split-fancy "INBOX" t "INBOX")
+ ;; keep debbugs emails in INBOX
+ (list ".*<\\(.*\\)\\.debbugs\\.gnu\\.org>.*" "INBOX")
+ ;; gnu
+ (list ".*<\\(.*\\)\\.\\(non\\)?gnu\\.org>.*" "l.\\1")
+ ;; gnus
+ (list ".*<\\(.*\\)\\.gnus\\.org>.*" "l.\\1")
+ ;; libreplanet
+ (list ".*<\\(.*\\)\\.libreplanet\\.org>.*" "l.\\1")
+ ;; iana (e.g. tz-announce)
+ (list ".*<\\(.*\\)\\.iana\\.org>.*" "l.\\1")
+ ;; orbitalfox (e.g. gemini)
+ (list ".*<\\(.*\\)\\.lists\\.orbitalfox\\.eu>.*" "l.\\1")
+ ;; *.lists.sr.ht, omitting one dot if present
+ ;; add more \\.?\\([^.]*\\) if needed
+ (list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists\\.sr\\.ht>.*" "l.~\\1.\\2\\3")
+ ;; webmasters
+ (from "webmasters\\(-comment\\)?@gnu\\.org" "webmasters")
+ ;; other
+ (list ".*atreus.freelists.org" "l.atreus")
+ (list ".*deepspec.lists.cs.princeton.edu" "l.deepspec")
+ ;; (list ".*haskell-art.we.lurk.org" "l.haskell.art") ;d
+ (list ".*haskell-cafe.haskell.org" "l.haskell-cafe")
+ ;; (list ".*notmuch.notmuchmail.org" "l.notmuch") ;u
+ (list ".*dev.lists.parabola.nu" "l.parabola-dev")
+ ;; ----------------------------------
+ ;; legend: (u)nsubscribed | (d)ead
+ ;; ----------------------------------
+ ;; spam
+ ("X-Spam_action" "reject" "Junk")
+ ;; otherwise, leave mail in INBOX
+ "INBOX")))
+ (nnimap "uwaterloo"
+ (nnimap-stream plain)
+ (nnimap-address "127.0.0.1")
+ (nnimap-server-port 143)
+ (nnimap-authenticator plain)
+ (nnimap-user "abandali@uwaterloo.local")
+ (nnimap-inbox "INBOX")
+ (nnimap-split-methods 'nnimap-split-fancy)
+ (nnimap-split-fancy (|
+ ;; (: gnus-registry-split-fancy-with-parent)
+ ;; se212-f19
+ ("subject" "SE\\s-?212" "course.se212-f19")
+ (from "SE\\s-?212" "course.se212-f19")
+ ;; catch-all
+ "INBOX")))
+ (nnimap "csc"
+ (nnimap-stream plain)
+ (nnimap-address "127.0.0.1")
+ (nnimap-server-port 143)
+ (nnimap-authenticator plain)
+ (nnimap-user "abandali@csclub.uwaterloo.local")
+ (nnimap-inbox "INBOX")
+ (nnimap-split-methods 'nnimap-split-fancy)
+ (nnimap-split-fancy (|
+ ;; cron reports and other messages from root
+ (from "root@\\(.*\\.\\)?csclub\\.uwaterloo\\.ca" "INBOX")
+ ;; spam
+ ("X-Spam-Flag" "YES" "Junk")
+ ;; catch-all
+ "INBOX")))
+ (nnimap "sfl"
+ (nnimap-stream tls)
+ (nnimap-address "mail.savoirfairelinux.com")
+ (nnimap-user "amin.bandali")))
+ gnus-message-archive-group "nnimap+gnu:INBOX"
+ gnus-parameters
+ '(("l\\.atreus"
+ (to-address . "atreus@freelists.org")
+ (to-list . "atreus@freelists.org"))
+ ("l\\.deepspec"
+ (to-address . "deepspec@lists.cs.princeton.edu")
+ (to-list . "deepspec@lists.cs.princeton.edu")
+ (list-identifier . "\\[deepspec\\]"))
+ ("l\\.emacs-devel"
+ (to-address . "emacs-devel@gnu.org")
+ (to-list . "emacs-devel@gnu.org"))
+ ("l\\.help-gnu-emacs"
+ (to-address . "help-gnu-emacs@gnu.org")
+ (to-list . "help-gnu-emacs@gnu.org"))
+ ("l\\.info-gnu-emacs"
+ (to-address . "info-gnu-emacs@gnu.org")
+ (to-list . "info-gnu-emacs@gnu.org"))
+ ("l\\.emacs-orgmode"
+ (to-address . "emacs-orgmode@gnu.org")
+ (to-list . "emacs-orgmode@gnu.org")
+ (list-identifier . "\\[O\\]"))
+ ("l\\.emacs-tangents"
+ (to-address . "emacs-tangents@gnu.org")
+ (to-list . "emacs-tangents@gnu.org"))
+ ("l\\.emacsconf-committee"
+ (to-address . "emacsconf-committee@gnu.org")
+ (to-list . "emacsconf-committee@gnu.org"))
+ ("l\\.emacsconf-discuss"
+ (to-address . "emacsconf-discuss@gnu.org")
+ (to-list . "emacsconf-discuss@gnu.org"))
+ ("l\\.emacsconf-org"
+ (to-address . "emacsconf-org@gnu.org")
+ (to-list . "emacsconf-org@gnu.org"))
+ ("l\\.emacsconf-org-private"
+ (to-address . "emacsconf-org-private@gnu.org")
+ (to-list . "emacsconf-org-private@gnu.org"))
+ ("l\\.emacsconf-register"
+ (to-address . "emacsconf-register@gnu.org")
+ (to-list . "emacsconf-register@gnu.org"))
+ ("l\\.emacsconf-submit"
+ (to-address . "emacsconf-submit@gnu.org")
+ (to-list . "emacsconf-submit@gnu.org"))
+ ("l\\.fencepost-users"
+ (to-address . "fencepost-users@gnu.org")
+ (to-list . "fencepost-users@gnu.org")
+ (list-identifier . "\\[Fencepost-users\\]"))
+ ("l\\.gnewsense-art"
+ (to-address . "gnewsense-art@nongnu.org")
+ (to-list . "gnewsense-art@nongnu.org")
+ (list-identifier . "\\[gNewSense-art\\]"))
+ ("l\\.gnewsense-dev"
+ (to-address . "gnewsense-dev@nongnu.org")
+ (to-list . "gnewsense-dev@nongnu.org")
+ (list-identifier . "\\[Gnewsense-dev\\]"))
+ ("l\\.gnewsense-users"
+ (to-address . "gnewsense-users@nongnu.org")
+ (to-list . "gnewsense-users@nongnu.org")
+ (list-identifier . "\\[gNewSense-users\\]"))
+ ("l\\.gnunet-developers"
+ (to-address . "gnunet-developers@gnu.org")
+ (to-list . "gnunet-developers@gnu.org")
+ (list-identifier . "\\[GNUnet-developers\\]"))
+ ("l\\.help-gnunet"
+ (to-address . "help-gnunet@gnu.org")
+ (to-list . "help-gnunet@gnu.org")
+ (list-identifier . "\\[Help-gnunet\\]"))
+ ("l\\.bug-gnuzilla"
+ (to-address . "bug-gnuzilla@gnu.org")
+ (to-list . "bug-gnuzilla@gnu.org")
+ (list-identifier . "\\[Bug-gnuzilla\\]"))
+ ("l\\.gnuzilla-dev"
+ (to-address . "gnuzilla-dev@gnu.org")
+ (to-list . "gnuzilla-dev@gnu.org")
+ (list-identifier . "\\[Gnuzilla-dev\\]"))
+ ("l\\.guile-devel"
+ (to-address . "guile-devel@gnu.org")
+ (to-list . "guile-devel@gnu.org"))
+ ("l\\.guile-user"
+ (to-address . "guile-user@gnu.org")
+ (to-list . "guile-user@gnu.org"))
+ ("l\\.guix-devel"
+ (to-address . "guix-devel@gnu.org")
+ (to-list . "guix-devel@gnu.org"))
+ ("l\\.help-guix"
+ (to-address . "help-guix@gnu.org")
+ (to-list . "help-guix@gnu.org"))
+ ("l\\.info-guix"
+ (to-address . "info-guix@gnu.org")
+ (to-list . "info-guix@gnu.org"))
+ ("l\\.savannah-hackers-public"
+ (to-address . "savannah-hackers-public@gnu.org")
+ (to-list . "savannah-hackers-public@gnu.org"))
+ ("l\\.savannah-users"
+ (to-address . "savannah-users@gnu.org")
+ (to-list . "savannah-users@gnu.org"))
+ ("l\\.www-commits"
+ (to-address . "www-commits@gnu.org")
+ (to-list . "www-commits@gnu.org"))
+ ("l\\.www-discuss"
+ (to-address . "www-discuss@gnu.org")
+ (to-list . "www-discuss@gnu.org"))
+ ("l\\.haskell-art"
+ (to-address . "haskell-art@we.lurk.org")
+ (to-list . "haskell-art@we.lurk.org")
+ (list-identifier . "\\[haskell-art\\]"))
+ ("l\\.haskell-cafe"
+ (to-address . "haskell-cafe@haskell.org")
+ (to-list . "haskell-cafe@haskell.org")
+ (list-identifier . "\\[Haskell-cafe\\]"))
+ ("l\\.notmuch"
+ (to-address . "notmuch@notmuchmail.org")
+ (to-list . "notmuch@notmuchmail.org"))
+ ("l\\.parabola-dev"
+ (to-address . "dev@lists.parabola.nu")
+ (to-list . "dev@lists.parabola.nu")
+ (list-identifier . "\\[Dev\\]"))
+ ("l\\.~bandali\\.public-inbox"
+ (to-address . "~bandali/public-inbox@lists.sr.ht")
+ (to-list . "~bandali/public-inbox@lists.sr.ht"))
+ ("l\\.~sircmpwn\\.free-writers-club"
+ (to-address . "~sircmpwn/free-writers-club@lists.sr.ht")
+ (to-list . "~sircmpwn/free-writers-club@lists.sr.ht"))
+ ("l\\.~sircmpwn\\.srht-admins"
+ (to-address . "~sircmpwn/sr.ht-admins@lists.sr.ht")
+ (to-list . "~sircmpwn/sr.ht-admins@lists.sr.ht"))
+ ("l\\.~sircmpwn\\.srht-announce"
+ (to-address . "~sircmpwn/sr.ht-announce@lists.sr.ht")
+ (to-list . "~sircmpwn/sr.ht-announce@lists.sr.ht"))
+ ("l\\.~sircmpwn\\.srht-dev"
+ (to-address . "~sircmpwn/sr.ht-dev@lists.sr.ht")
+ (to-list . "~sircmpwn/sr.ht-dev@lists.sr.ht"))
+ ("l\\.~sircmpwn\\.srht-discuss"
+ (to-address . "~sircmpwn/sr.ht-discuss@lists.sr.ht")
+ (to-list . "~sircmpwn/sr.ht-discuss@lists.sr.ht"))
+ ("webmasters"
+ (to-address . "webmasters@gnu.org")
+ (to-list . "webmasters@gnu.org"))
+ ("gnu.*"
+ (gcc-self . t))
+ ("l\\."
+ (subscribed . t))
+ ("nnimap\\+uwaterloo:.*"
+ (gcc-self . t)))
+ ;; nnimap-record-commands t
+ gnus-large-newsgroup 50
+ gnus-home-directory (b/var "gnus/")
+ gnus-directory (concat gnus-home-directory "news/")
+ message-directory (concat gnus-home-directory "mail/")
+ nndraft-directory (concat gnus-home-directory "drafts/")
+ gnus-save-newsrc-file nil
+ gnus-read-newsrc-file nil
+ gnus-interactive-exit nil
+ gnus-gcc-mark-as-read t)
+
+(with-eval-after-load 'gnus
(when (version< emacs-version "27")
(with-eval-after-load 'nnmail
(add-to-list
@@ -306,11 +300,19 @@
;; (gnus-registry-initialize)
(with-eval-after-load 'recentf
- (add-to-list 'recentf-exclude gnus-home-directory)))
+ (add-to-list 'recentf-exclude gnus-home-directory))
+
+ ;; hooks
+ (add-hook 'gnus-group-mode-hook #'gnus-topic-mode)
+ (add-hook 'gnus-group-mode-hook #'gnus-agent-mode))
+;; global key bindings
+(global-set-key (kbd "s-m") #'gnus-plugged)
+(global-set-key (kbd "s-M") #'gnus-unplugged)
+(global-set-key (kbd "C-c a m") #'gnus-plugged)
+(global-set-key (kbd "C-c a M") #'gnus-unplugged)
-(use-package gnus-art
- :config
- (setq
+(with-eval-after-load 'gnus-art
+ (csetq
gnus-buttonized-mime-types '("multipart/\\(signed\\|encrypted\\)")
gnus-sorted-header-list '("^From:"
"^X-RT-Originator"
@@ -355,31 +357,30 @@
(string-match " (.+" combined-lapsed)
(match-string 0 combined-lapsed))))
(concat local lapsed))))
- (bind-keys
- :map gnus-article-mode-map
- ("M-L" . org-store-link)))
-
-(use-package gnus-sum
- :bind (:map gnus-summary-mode-map
- :prefix-map b/gnus-summary-prefix-map
- :prefix "v"
- ("r" . gnus-summary-reply)
- ("w" . gnus-summary-wide-reply)
- ("v" . gnus-summary-show-raw-article))
- :config
- (bind-keys
- :map gnus-summary-mode-map
- ("M-L" . org-store-link))
- :hook (gnus-summary-mode . b/no-mouse-autoselect-window)
- :custom
- (gnus-thread-sort-functions '(gnus-thread-sort-by-number
- gnus-thread-sort-by-subject
- gnus-thread-sort-by-date)))
-
-(use-package gnus-msg
- :init
- (defvar b/sfl-p nil)
- :config
+ ;; local key bindings
+ (define-key gnus-article-mode-map (kbd "M-L") #'org-store-link))
+
+(with-eval-after-load 'gnus-sum
+ (csetq gnus-thread-sort-functions '(gnus-thread-sort-by-number
+ gnus-thread-sort-by-subject
+ gnus-thread-sort-by-date))
+ ;; local key bindings
+ (define-key gnus-summary-mode-map (kbd "M-L") #'org-store-link)
+ (defvar b/gnus-summary-prefix-map)
+ (define-prefix-command 'b/gnus-summary-prefix-map)
+ (define-key gnus-summary-mode-map (kbd "v")
+ 'b/gnus-summary-prefix-map)
+ (define-key b/gnus-summary-prefix-map (kbd "r")
+ #'gnus-summary-reply)
+ (define-key b/gnus-summary-prefix-map (kbd "w")
+ #'gnus-summary-wide-reply)
+ (define-key b/gnus-summary-prefix-map (kbd "v")
+ #'gnus-summary-show-raw-article))
+;; hooks
+(add-hook 'gnus-summary-mode-hook #'b/no-mouse-autoselect-window)
+
+(defvar b/sfl-p nil)
+(with-eval-after-load 'gnus-msg
(defvar b/shemshak-signature "Amin Bandali
https://shemshak.org/~bandali")
(defvar b/uwaterloo-signature "Amin Bandali, MMath
@@ -391,103 +392,89 @@ Computer Science Club, University of Waterloo")
Free Software Consultant
Savoir-faire Linux
GNU Jami: bandali")
- (setq gnus-message-replysign t
- gnus-posting-styles
- '((".*"
- (address "bandali@gnu.org"))
- ("nnimap\\+gnu:l\\..*"
- (signature nil))
- ("nnimap\\+gnu:.*"
- (organization "GNU"))
- ((header "subject" "ThankCRM")
- (to "webmasters-comment@gnu.org")
- (body "")
- (eval (setq b/message-cite-say-hi nil)))
- ("nnimap\\+shemshak:.*"
- (address "amin@shemshak.org")
- (body "\nBest,\n")
- (signature b/shemshak-signature)
- (gcc "nnimap+shemshak:Sent")
- (eval (setq b/message-cite-say-hi t)))
- ("nnimap\\+uwaterloo:.*"
- (address "bandali@uwaterloo.ca")
- (body "\nBest,\n")
- (signature b/uwaterloo-signature))
- ("nnimap\\+uwaterloo:INBOX"
- (gcc "\"nnimap+uwaterloo:Sent Items\""))
- ("nnimap\\+csc:.*"
- (address "bandali@csclub.uwaterloo.ca")
- (signature b/csc-signature)
- (gcc "nnimap+csc:Sent"))
- ("nnimap\\+sfl:.*"
- (address "amin.bandali@savoirfairelinux.com")
- (signature b/sfl-signature)
- (gcc "nnimap+sfl:Sent")
- (eval (setq-local b/sfl-p t)))))
- :hook (gnus-message-setup . (lambda ()
- (unless (or (mml-secure-is-encrypted-p)
- b/sfl-p)
- (mml-secure-message-sign)))))
-
-(use-package gnus-topic
- :hook (gnus-group-mode . gnus-topic-mode)
- :config (setq gnus-topic-line-format "%i[ %A: %(%{%n%}%) ]%v\n"))
-
-(use-package gnus-agent
- :config
- (setq gnus-agent-synchronize-flags 'ask)
- :hook (gnus-group-mode . gnus-agent-mode))
-
-(use-package gnus-group
- :config
- (setq gnus-permanently-visible-groups "\\(:INBOX$\\|:gnu$\\)"))
+ (csetq
+ gnus-message-replysign t
+ gnus-posting-styles
+ '((".*"
+ (address "bandali@gnu.org"))
+ ("nnimap\\+gnu:l\\..*"
+ (signature nil))
+ ("nnimap\\+gnu:.*"
+ (organization "GNU"))
+ ((header "subject" "ThankCRM")
+ (to "webmasters-comment@gnu.org")
+ (body "")
+ (eval (setq b/message-cite-say-hi nil)))
+ ("nnimap\\+shemshak:.*"
+ (address "amin@shemshak.org")
+ (body "\nBest,\n")
+ (signature b/shemshak-signature)
+ (gcc "nnimap+shemshak:Sent")
+ (eval (setq b/message-cite-say-hi t)))
+ ("nnimap\\+uwaterloo:.*"
+ (address "bandali@uwaterloo.ca")
+ (body "\nBest,\n")
+ (signature b/uwaterloo-signature))
+ ("nnimap\\+uwaterloo:INBOX"
+ (gcc "\"nnimap+uwaterloo:Sent Items\""))
+ ("nnimap\\+csc:.*"
+ (address "bandali@csclub.uwaterloo.ca")
+ (signature b/csc-signature)
+ (gcc "nnimap+csc:Sent"))
+ ("nnimap\\+sfl:.*"
+ (address "amin.bandali@savoirfairelinux.com")
+ (signature b/sfl-signature)
+ (gcc "nnimap+sfl:Sent")
+ (eval (setq-local b/sfl-p t))))))
+;; hooks
+(with-eval-after-load 'gnus
+ (add-hook 'gnus-message-setup-hook
+ (lambda ()
+ (unless (or (mml-secure-is-encrypted-p)
+ b/sfl-p)
+ (mml-secure-message-sign)))))
+
+(with-eval-after-load 'gnus-topic
+ (csetq gnus-topic-line-format "%i[ %A: %(%{%n%}%) ]%v\n"))
+
+(with-eval-after-load 'gnus-agent
+ (csetq gnus-agent-synchronize-flags 'ask))
+
+(with-eval-after-load 'gnus-group
+ (csetq gnus-permanently-visible-groups "\\(:INBOX$\\|:gnu$\\)"))
(comment
;; problematic with ebdb's popup, *EBDB-Gnus*
- (use-package gnus-win
- :config
- (setq gnus-use-full-window nil)))
+ (with-eval-after-load 'gnus-win
+ (csetq gnus-use-full-window nil)))
-(use-package gnus-dired
- :commands gnus-dired-mode
- :init
+(with-eval-after-load 'gnus-dired
(add-hook 'dired-mode-hook 'gnus-dired-mode))
(comment
- (use-package gnus-utils
- :custom
- (gnus-completing-read-function 'gnus-ido-completing-read)))
-
-(use-package mm-decode
- :config
- (setq mm-discouraged-alternatives '("text/html" "text/richtext")
- mm-decrypt-option 'known
- mm-verify-option 'known))
-
-(use-package mm-uu
- :config
+ (with-eval-after-load 'gnus-utils
+ (csetq gnus-completing-read-function 'gnus-ido-completing-read)))
+
+(with-eval-after-load 'mm-decode
+ (csetq mm-discouraged-alternatives '("text/html" "text/richtext")
+ mm-decrypt-option 'known
+ mm-verify-option 'known))
+
+(with-eval-after-load 'mm-uu
(when (version< "27" emacs-version)
(set-face-attribute 'mm-uu-extract nil :extend t))
(when (version< emacs-version "27")
- (setq mm-uu-diff-groups-regexp
- "\\(gmane\\|gnu\\|l\\)\\..*\\(diff\\|commit\\|cvs\\|bug\\|dev\\)")))
-
-(use-package mml)
-
-(use-package mml-sec
- :custom
- (mml-secure-openpgp-encrypt-to-self t)
- (mml-secure-openpgp-sign-with-sender t))
-
-(use-package gnus-article-treat-patch
- :disabled
- :demand
- :load-path "lisp/"
- :config
- ;; note: be sure to customize faces with `:foreground "white"' when
- ;; using a theme with a white/light background :)
- (setq ft/gnus-article-patch-conditions
- '("^@@ -[0-9]+,[0-9]+ \\+[0-9]+,[0-9]+ @@")))
+ (csetq mm-uu-diff-groups-regexp ".")))
+
+(with-eval-after-load 'mml-sec
+ (csetq mml-secure-openpgp-encrypt-to-self t
+ mml-secure-openpgp-sign-with-sender t))
+
+;; (require 'gnus-article-treat-patch)
+;; ;; note: be sure to customize faces with `:foreground "white"' when
+;; ;; using a theme with a white/light background :)
+;; (setq ft/gnus-article-patch-conditions
+;; '("^@@ -[0-9]+,[0-9]+ \\+[0-9]+,[0-9]+ @@"))
(provide 'bandali-gnus)
;;; bandali-gnus.el ends here
diff --git a/lisp/bandali-ibuffer.el b/lisp/bandali-ibuffer.el
index bf42def..7cd4331 100644
--- a/lisp/bandali-ibuffer.el
+++ b/lisp/bandali-ibuffer.el
@@ -24,15 +24,62 @@
;;; Code:
-(use-package ibuffer
- :bind
- (("C-x C-b" . ibuffer)
- :map ibuffer-mode-map
- ("P" . ibuffer-backward-filter-group)
- ("N" . ibuffer-forward-filter-group)
- ("M-p" . ibuffer-do-print)
- ("M-n" . ibuffer-do-shell-command-pipe-replace))
- :config
+(csetq
+ ibuffer-saved-filter-groups
+ '(("default"
+ ("dired" (mode . dired-mode))
+ ("org" (mode . org-mode))
+ ("gnus"
+ (or
+ (mode . gnus-group-mode)
+ (mode . gnus-summary-mode)
+ (mode . gnus-article-mode)
+ (mode . message-mode)))
+ ("web"
+ (or
+ (mode . mhtml-mode)
+ (mode . css-mode)
+ (mode . scss-mode)
+ (mode . js2-mode)))
+ ("shell"
+ (or
+ (mode . eshell-mode)
+ (mode . shell-mode)
+ (mode . term-mode)))
+ ("programming"
+ (or
+ (mode . python-mode)
+ (mode . c-mode)
+ (mode . c++-mode)
+ (mode . java-mode)
+ (mode . emacs-lisp-mode)
+ (mode . scheme-mode)
+ (mode . haskell-mode)
+ (mode . lean-mode)
+ ;; (mode . go-mode)
+ (mode . alloy-mode)))
+ ("tex"
+ (or
+ (mode . bibtex-mode)
+ (mode . latex-mode)))
+ ("emacs"
+ (or
+ (name . "^\\*scratch\\*$")
+ (name . "^\\*Messages\\*$")))
+ ("exwm" (mode . exwm-mode))
+ ("erc" (mode . erc-mode))))
+ ibuffer-formats
+ '((mark modified read-only locked " "
+ (name 72 72 :left :elide)
+ " "
+ (size-h 9 -1 :right)
+ " "
+ (mode 16 16 :left :elide)
+ " " filename-and-process)
+ (mark " "
+ (name 16 -1)
+ " " filename)))
+(with-eval-after-load 'ibuffer
;; Use human readable Size column instead of original one
(define-ibuffer-column size-h
(:name "Size" :inline t)
@@ -41,65 +88,23 @@
((> (buffer-size) 100000) (format "%7.0fk" (/ (buffer-size) 1000.0)))
((> (buffer-size) 1000) (format "%7.1fk" (/ (buffer-size) 1000.0)))
(t (format "%8d" (buffer-size)))))
- (declare-function ibuffer-switch-to-saved-filter-groups "ibuf-ext"
+
+ ;; local key bindings
+ (define-key ibuffer-mode-map (kbd "P")
+ #'ibuffer-backward-filter-group)
+ (define-key ibuffer-mode-map (kbd "N")
+ #'ibuffer-forward-filter-group)
+ (define-key ibuffer-mode-map (kbd "M-p")
+ #'ibuffer-do-print)
+ (define-key ibuffer-mode-map (kbd "M-n")
+ #'ibuffer-do-shell-command-pipe-replace))
+;; global key bindings
+(global-set-key (kbd "C-x C-b") #'ibuffer)
+;; hooks
+(declare-function ibuffer-switch-to-saved-filter-groups "ibuf-ext"
(name))
- :custom
- (ibuffer-saved-filter-groups
- '(("default"
- ("dired" (mode . dired-mode))
- ("org" (mode . org-mode))
- ("gnus"
- (or
- (mode . gnus-group-mode)
- (mode . gnus-summary-mode)
- (mode . gnus-article-mode)
- ;; not really, but...
- (mode . message-mode)))
- ("web"
- (or
- (mode . mhtml-mode)
- (mode . css-mode)
- (mode . scss-mode)
- (mode . js2-mode)))
- ("shell"
- (or
- (mode . eshell-mode)
- (mode . shell-mode)
- (mode . term-mode)))
- ("programming"
- (or
- (mode . python-mode)
- (mode . c-mode)
- (mode . c++-mode)
- (mode . java-mode)
- (mode . emacs-lisp-mode)
- (mode . scheme-mode)
- (mode . haskell-mode)
- (mode . lean-mode)
- ;; (mode . go-mode)
- (mode . alloy-mode)))
- ("tex"
- (or
- (mode . bibtex-mode)
- (mode . latex-mode)))
- ("emacs"
- (or
- (name . "^\\*scratch\\*$")
- (name . "^\\*Messages\\*$")))
- ("exwm" (mode . exwm-mode))
- ("erc" (mode . erc-mode)))))
- (ibuffer-formats
- '((mark modified read-only locked " "
- (name 72 72 :left :elide)
- " "
- (size-h 9 -1 :right)
- " "
- (mode 16 16 :left :elide)
- " " filename-and-process)
- (mark " "
- (name 16 -1)
- " " filename)))
- :hook (ibuffer . (lambda () (ibuffer-switch-to-saved-filter-groups "default"))))
+(add-hook 'ibuffer-hook
+ (lambda () (ibuffer-switch-to-saved-filter-groups "default")))
(provide 'bandali-ibuffer)
;;; bandali-ibuffer.el ends here
diff --git a/lisp/bandali-ivy.el b/lisp/bandali-ivy.el
index 3a67cf1..973323a 100644
--- a/lisp/bandali-ivy.el
+++ b/lisp/bandali-ivy.el
@@ -24,20 +24,14 @@
;;; Code:
-(use-package ivy
- :defer 0.3
- :bind
- (:map ivy-minibuffer-map
- ([escape] . keyboard-escape-quit)
- ([S-up] . ivy-previous-history-element)
- ([S-down] . ivy-next-history-element)
- ("DEL" . ivy-backward-delete-char))
- :config
- (setq ivy-wrap t
- ;; ivy-height 14
- ivy-use-virtual-buffers t
- ivy-virtual-abbreviate 'abbreviate
- ivy-count-format "%d/%d ")
+(run-with-idle-timer 0.3 nil #'require 'ivy)
+(with-eval-after-load 'ivy
+ ;; ivy
+ (csetq ivy-wrap t
+ ;; ivy-height 14
+ ivy-use-virtual-buffers t
+ ivy-virtual-abbreviate 'abbreviate
+ ivy-count-format "%d/%d ")
(defvar b/ivy-ignore-buffer-modes
'(;; dired-mode
@@ -52,24 +46,29 @@ This function is intended for use with `ivy-ignore-buffers'."
(mode (and buf (buffer-local-value 'major-mode buf))))
(and mode
(apply #'provided-mode-derived-p mode b/ivy-ignore-buffer-modes))))
- (add-to-list 'ivy-ignore-buffers 'b/ivy-ignore-buffer-p)
-
- (ivy-mode 1))
-
-(use-package swiper
- :demand
- :after ivy
- :bind (("C-S-s" . swiper-isearch)))
-
-(use-package counsel
- :demand
- :after ivy
- :bind (("C-c f r" . counsel-recentf)
- :map minibuffer-local-map
- ("C-r" . counsel-minibuffer-history))
- :config
+ (add-to-list 'ivy-ignore-buffers #'b/ivy-ignore-buffer-p)
+
+ (define-key ivy-minibuffer-map [escape] #'keyboard-escape-quit)
+ (define-key ivy-minibuffer-map [S-up]
+ #'ivy-previous-history-element)
+ (define-key ivy-minibuffer-map [S-down]
+ #'ivy-next-history-element)
+ (define-key ivy-minibuffer-map (kbd "DEL")
+ #'ivy-backward-delete-char)
+
+ (ivy-mode 1)
+
+ ;; swiper
+ (require 'swiper)
+ (global-set-key (kbd "C-S-s") #'swiper-isearch)
+
+ ;; counsel
+ (require 'counsel)
(counsel-mode 1)
- (defalias 'locate #'counsel-locate))
+ (defalias 'locate #'counsel-locate)
+ (global-set-key (kbd "C-c f r") #'counsel-recentf)
+ (define-key minibuffer-local-map
+ (kbd "C-r") #'counsel-minibuffer-history))
(provide 'bandali-ivy)
;;; bandali-ivy.el ends here
diff --git a/lisp/bandali-message.el b/lisp/bandali-message.el
index 7d8edf4..e7e43f8 100644
--- a/lisp/bandali-message.el
+++ b/lisp/bandali-message.el
@@ -24,9 +24,8 @@
;;; Code:
-(use-package message
- :bind (:map message-mode-map ("<C-return>" . b/insert-asterism))
- :config
+(with-eval-after-load 'message
+ ;; :bind (:map message-mode-map ("<C-return>" . b/insert-asterism))
;; redefine for a simplified In-Reply-To header
;; (see https://todo.sr.ht/~sircmpwn/lists.sr.ht/67)
(defun message-make-in-reply-to ()
@@ -50,7 +49,9 @@
(concat "Hi %F,\n\n" b/message-cite-style-format)
b/message-cite-style-format)))
"Citation style based on Mozilla Thunderbird's. Use with message-cite-style.")
- (setq ;; message-cite-style 'message-cite-style-bandali
+ (csetq
+ message-elide-ellipsis "[...]\n"
+ ;; message-cite-style 'message-cite-style-bandali
message-citation-line-format "%N writes:\n"
message-citation-line-function 'message-insert-formatted-citation-line
message-kill-buffer-on-exit t
@@ -59,73 +60,81 @@
message-subscribed-address-functions
'(gnus-find-subscribed-addresses)
message-dont-reply-to-names
- "\\(\\(amin@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|bandali@fsf\\.org\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\)")
+ "\\(\\(amin@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|bandali@fsf\\.org\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\|amin\\.bandali@savoirfairelinux\\.com\\)")
;; (require 'company-ebdb)
- :hook (;; (message-setup . mml-secure-message-sign-pgpmime)
- (message-mode . flyspell-mode)
- (message-mode . (lambda ()
- ;; (setq-local fill-column b/fill-column
- ;; message-fill-column b/fill-column)
- (eval-when-compile (defvar company-idle-delay))
- (make-local-variable 'company-idle-delay)
- (setq company-idle-delay 0.2))))
- ;; :custom-face
- ;; (message-header-subject ((t (:foreground "#111" :weight semi-bold))))
- ;; (message-header-to ((t (:foreground "#111" :weight normal))))
- ;; (message-header-cc ((t (:foreground "#333" :weight normal))))
- :custom
- (message-elide-ellipsis "[...]\n"))
-
-(use-package footnote
- :after message
- :config
- ;; (setq footnote-start-tag ""
- ;; footnote-end-tag ""
- ;; footnote-style 'unicode)
- (when (featurep 'which-key)
- (which-key-add-major-mode-key-based-replacements 'message-mode
- "C-c f n" "footnote"))
- :bind
- (:map message-mode-map
- :prefix-map b/footnote-prefix-map
- :prefix "C-c f n"
- ("a" . footnote-add-footnote)
- ("b" . footnote-back-to-message)
- ("c" . footnote-cycle-style)
- ("d" . footnote-delete-footnote)
- ("g" . footnote-goto-footnote)
- ("r" . footnote-renumber-footnotes)
- ("s" . footnote-set-style)))
+ ;; (custom-set-faces
+ ;; '(message-header-subject
+ ;; ((t (:foreground "#111" :weight semi-bold))))
+ ;; '(message-header-to
+ ;; ((t (:foreground "#111" :weight normal))))
+ ;; '(message-header-cc
+ ;; ((t (:foreground "#333" :weight normal))))
+
+ ;; footnote
+ (with-eval-after-load 'footnote
+ ;; (csetq footnote-start-tag ""
+ ;; footnote-end-tag ""
+ ;; footnote-style 'unicode)
+ (when (featurep 'which-key)
+ (which-key-add-major-mode-key-based-replacements 'message-mode
+ "C-c f n" "footnote")))
+
+ ;; orgalist
+ (add-hook 'message-mode-hook
+ (lambda ()
+ ;; work around incompatibility between
+ ;; orgalist and yasnippet
+ (yas-minor-mode -1)
+ (orgalist-mode 1)
+ (yas-minor-mode 1)))
+
+ ;; local key bindings
+ (defvar b/footnote-prefix-map)
+ (define-prefix-command 'b/footnote-prefix-map)
+ (define-key message-mode-map (kbd "C-c f n")
+ 'b/footnote-prefix-map)
+ (define-key b/footnote-prefix-map (kbd "a")
+ #'footnote-add-footnote)
+ (define-key b/footnote-prefix-map (kbd "b")
+ #'footnote-back-to-message)
+ (define-key b/footnote-prefix-map (kbd "c")
+ #'footnote-cycle-style)
+ (define-key b/footnote-prefix-map (kbd "d")
+ #'footnote-delete-footnote)
+ (define-key b/footnote-prefix-map (kbd "g")
+ #'footnote-goto-footnote)
+ (define-key b/footnote-prefix-map (kbd "r")
+ #'footnote-renumber-footnotes)
+ (define-key b/footnote-prefix-map (kbd "s")
+ #'footnote-set-style))
+;; hooks
+;; (add-hook 'message-setup-hook #'mml-secure-message-sign-pgpmime)
+(add-hook 'message-mode-hook #'flyspell-mode)
+(add-hook 'message-mode-hook
+ (lambda ()
+ ;; (setq-local fill-column b/fill-column
+ ;; message-fill-column b/fill-column)
+ (eval-when-compile (defvar company-idle-delay))
+ (make-local-variable 'company-idle-delay)
+ (setq company-idle-delay 0.2)))
(comment
- (use-package message-x
- :custom
- (message-x-completion-alist
- (quote
- (("\\([rR]esent-\\|[rR]eply-\\)?[tT]o:\\|[bB]?[cC][cC]:" . gnus-harvest-find-address)
+ (with-eval-after-load 'message-x
+ (csetq
+ message-x-completion-alist
+ '(("\\([rR]esent-\\|[rR]eply-\\)?[tT]o:\\|[bB]?[cC][cC]:"
+ . gnus-harvest-find-address)
((if
(boundp
(quote message-newgroups-header-regexp))
message-newgroups-header-regexp message-newsgroups-header-regexp)
- . message-expand-group))))))
+ . message-expand-group)))))
(comment
- (use-package gnus-harvest
- :commands gnus-harvest-install
- :demand
- :config
- (if (featurep 'message-x)
- (gnus-harvest-install 'message-x)
- (gnus-harvest-install))))
-
-(use-package orgalist
- :after message
- :hook (message-mode . (lambda ()
- ;; work around incompatibility between
- ;; orgalist and yasnippet
- (yas-minor-mode -1)
- (orgalist-mode 1)
- (yas-minor-mode 1))))
+ (require 'gnus-harvest)
+ (if (featurep 'message-x)
+ (gnus-harvest-install 'message-x)
+ (gnus-harvest-install)))
(provide 'bandali-message)
;;; bandali-message.el ends here
diff --git a/lisp/bandali-org.el b/lisp/bandali-org.el
index a9ab750..ed2a3bd 100644
--- a/lisp/bandali-org.el
+++ b/lisp/bandali-org.el
@@ -24,66 +24,42 @@
;;; Code:
-(use-package org
- :config
- (setq org-src-tab-acts-natively t
- org-src-preserve-indentation nil
- org-edit-src-content-indentation 0
- org-link-email-description-format "Email %c: %s" ; %.30s
- org-highlight-latex-and-related '(entities)
- org-use-speed-commands t
- org-startup-folded 'content
- org-catch-invisible-edits 'show-and-error
- org-log-done 'time)
+(with-eval-after-load 'org
+ (csetq org-src-tab-acts-natively t
+ org-src-preserve-indentation nil
+ org-edit-src-content-indentation 0
+ org-link-email-description-format "Email %c: %s" ; %.30s
+ org-highlight-latex-and-related '(entities)
+ org-use-speed-commands t
+ org-startup-folded 'content
+ org-catch-invisible-edits 'show-and-error
+ org-log-done 'time
+ org-pretty-entities t
+ org-agenda-files '("~/usr/org/todos/personal.org"
+ "~/usr/org/todos/habits.org"
+ "~/src/git/masters-thesis/todo.org")
+ org-agenda-start-on-weekday 0
+ org-agenda-time-leading-zero t
+ org-habit-graph-column 44
+ org-latex-packages-alist '(("" "listings") ("" "color")))
(add-to-list 'org-structure-template-alist '("L" . "src emacs-lisp") t)
(add-to-list 'org-modules 'org-habit)
- :bind
- (("C-c a o a" . org-agenda)
- :map org-mode-map
- ("M-L" . org-insert-last-stored-link)
- ("M-O" . org-toggle-link-display))
- :hook ((org-mode . org-indent-mode)
- (org-mode . auto-fill-mode)
- (org-mode . flyspell-mode))
- :custom
- (org-pretty-entities t)
- (org-agenda-files '("~/usr/org/todos/personal.org"
- "~/usr/org/todos/habits.org"
- "~/src/git/masters-thesis/todo.org"))
- (org-agenda-start-on-weekday 0)
- (org-agenda-time-leading-zero t)
- (org-habit-graph-column 44)
- (org-latex-packages-alist '(("" "listings") ("" "color")))
- :custom-face
- '(org-block-begin-line ((t (:foreground "#5a5b5a" :background "#1d1f21"))))
- '(org-block ((t (:background "#1d1f21"))))
- '(org-latex-and-related ((t (:foreground "#b294bb")))))
-
-(use-package ox-latex
- :after ox
- :config
- (setq org-latex-listings 'listings
- ;; org-latex-prefer-user-labels t
- )
- (add-to-list 'org-latex-classes
- '("IEEEtran" "\\documentclass[11pt]{IEEEtran}"
- ("\\section{%s}" . "\\section*{%s}")
- ("\\subsection{%s}" . "\\subsection*{%s}")
- ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
- ("\\paragraph{%s}" . "\\paragraph*{%s}")
- ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
- t)
- (require 'ox-beamer))
-
-(use-package ox-extra
- :config
- (declare-function ox-extras-activate "ox-extra" (extras))
- (ox-extras-activate '(latex-header-blocks ignore-headlines)))
-
-;; asynchronous tangle, using emacs-async to asynchronously tangle an
-;; org file. closely inspired by
-;; https://github.com/dieggsy/dotfiles/tree/cc10edf7701958eff1cd94d4081da544d882a28c/emacs.d#dotfiles
-(with-eval-after-load 'org
+ (custom-set-faces
+ '(org-block-begin-line
+ ((t (:foreground "#5a5b5a" :background "#1d1f21"))))
+ '(org-block ((t (:background "#1d1f21"))))
+ '(org-latex-and-related ((t (:foreground "#b294bb")))))
+ ;; local key bindings
+ (define-key org-mode-map (kbd "M-L") #'org-insert-last-stored-link)
+ (define-key org-mode-map (kbd "M-O") #'org-toggle-link-display)
+ ;; hooks
+ (add-hook 'org-mode-hook #'org-indent-mode)
+ (add-hook 'org-mode-hook #'auto-fill-mode)
+ (add-hook 'org-mode-hook #'flyspell-mode)
+
+ ;; asynchronous tangle, using emacs-async to asynchronously tangle an
+ ;; org file. closely inspired by
+ ;; https://github.com/dieggsy/dotfiles/tree/cc10edf7701958eff1cd94d4081da544d882a28c/emacs.d#dotfiles
(defvar b/show-async-tangle-results nil
"Keep *emacs* async buffers around for later inspection.")
@@ -113,14 +89,30 @@
(float-time (time-subtract (current-time)
',file-tangle-start-time)))
""))
- (message "Tangling %s failed" ,file-nodir))))))))
-
-(add-to-list
- 'safe-local-variable-values
- '(eval add-hook 'after-save-hook #'b/async-babel-tangle 'append 'local))
+ (message "Tangling %s failed" ,file-nodir)))))))
+ (add-to-list
+ 'safe-local-variable-values
+ '(eval add-hook 'after-save-hook #'b/async-babel-tangle 'append 'local)))
+;; global key bindings
+(global-set-key (kbd "C-c a o a") #'org-agenda)
+
+(with-eval-after-load 'ox-latex
+ (csetq org-latex-listings 'listings
+ ;; org-latex-prefer-user-labels t
+ )
+ (add-to-list 'org-latex-classes
+ '("IEEEtran" "\\documentclass[11pt]{IEEEtran}"
+ ("\\section{%s}" . "\\section*{%s}")
+ ("\\subsection{%s}" . "\\subsection*{%s}")
+ ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
+ ("\\paragraph{%s}" . "\\paragraph*{%s}")
+ ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
+ t)
+ (require 'ox-beamer))
-(use-package org-tanglesync
- :hook (org-mode . org-tanglesync-mode))
+(with-eval-after-load 'ox-extra
+ (declare-function ox-extras-activate "ox-extra" (extras))
+ (ox-extras-activate '(latex-header-blocks ignore-headlines)))
(provide 'bandali-org)
;;; bandali-org.el ends here
diff --git a/lisp/bandali-theme.el b/lisp/bandali-theme.el
index 13be391..7706bcc 100644
--- a/lisp/bandali-theme.el
+++ b/lisp/bandali-theme.el
@@ -24,24 +24,18 @@
;;; Code:
-(use-package refinery-theme
- :demand
- :config
- (load-theme 'refinery t))
-
-(use-package smart-mode-line
- :commands (sml/apply-theme)
- :demand
- :config
- ;; thanks, but no thnaks; don't make fixed-width fills.
- (defun sml/fill-for-buffer-identification () "")
- (setq sml/theme 'respectful)
- (sml/setup)
- (smart-mode-line-enable))
-
-(use-package minions
- :demand
- :config (minions-mode))
+(require 'refinery-theme)
+(load-theme 'refinery t)
+
+(require 'smart-mode-line)
+;; thanks, but no thanks; don't make fixed-width fills.
+(defun sml/fill-for-buffer-identification nil "")
+(setq sml/theme 'respectful)
+(sml/setup)
+(smart-mode-line-enable)
+
+(require 'minions)
+(minions-mode)
(defvar b/org-mode-font-lock-keywords
'(("[ \t]*\\(#\\+\\(BEGIN\\|END\\|begin\\|end\\)_\\(\\S-+\\)\\)[ \t]*\\([^\n:]*\\)"
@@ -72,9 +66,9 @@
"Go dark."
(interactive)
(mapc #'disable-theme custom-enabled-themes)
- (load-theme 'tango-dark t)
+ (load-theme 'refinery-dark t)
(when (featurep 'smart-mode-line)
- (sml/apply-theme 'automatic))
+ (sml/apply-theme 'dark))
(font-lock-add-keywords
'org-mode b/org-mode-font-lock-keywords t)
(when (featurep 'erc-hl-nicks)
@@ -82,9 +76,8 @@
(when (featurep 'exwm-systemtray)
(exwm-systemtray--refresh)))
-(bind-keys
- ("C-c t d" . b/lights-off)
- ("C-c t l" . b/lights-on))
+(global-set-key (kbd "C-c t d") #'b/lights-off)
+(global-set-key (kbd "C-c t l") #'b/lights-on)
(provide 'bandali-theme)
;;; bandali-theme.el ends here
diff --git a/lisp/bandali-yasnippet.el b/lisp/bandali-yasnippet.el
deleted file mode 100644
index 6cdbc7a..0000000
--- a/lisp/bandali-yasnippet.el
+++ /dev/null
@@ -1,26 +0,0 @@
-(use-package yasnippet
- :defer 0.6
- :config
- (declare-function yas-reload-all
- "yasnippet" (&optional no-jit interactive))
- (declare-function yas-maybe-expand-abbrev-key-filter
- "yasnippet" (cmd))
-
- (defconst yas-verbosity-cur yas-verbosity)
- (setq yas-verbosity 2)
- (add-to-list 'yas-snippet-dirs "~/src/git/guix/etc/snippets" t)
- (yas-reload-all)
- (setq yas-verbosity yas-verbosity-cur)
-
- (defun b/yas-maybe-expand-abbrev-key-filter (cmd)
- (when (and (yas-maybe-expand-abbrev-key-filter cmd)
- (not (bound-and-true-p git-commit-mode)))
- cmd))
- (defconst b/yas-maybe-expand
- '(menu-item "" yas-expand :filter b/yas-maybe-expand-abbrev-key-filter))
- (define-key yas-minor-mode-map
- (kbd "SPC") b/yas-maybe-expand)
-
- (yas-global-mode))
-
-(provide 'bandali-yasnippet)