(previous-line)
(insert "\n\f\n;;; "))
+(defvar b/fill-column 47
+ "My custom `fill-column'.")
+
+(defconst b/asterism "* * *")
+
(defun b/insert-asterism ()
+ "Insert a centred asterism."
(interactive)
- (insert "\n\n * * *\n\n"))
+ (insert
+ (concat
+ "\n\n"
+ (make-string (floor (/ (- b/fill-column (length b/asterism)) 2))
+ ?\s)
+ b/asterism
+ "\n\n")))
(defun b/no-mouse-autoselect-window ()
"Conveniently disable `focus-follows-mouse'.
;; for back and forward mouse keys
("<XF86Back>" . previous-buffer)
("<mouse-8>" . previous-buffer)
- ("<drag-mouse-8>" . previous-buffer)
+ ;; ("<drag-mouse-8>" . previous-buffer)
("<XF86Forward>" . next-buffer)
("<mouse-9>" . next-buffer)
- ("<drag-mouse-9>" . next-buffer)
- ("<drag-mouse-2>" . kill-this-buffer)
- ("<drag-mouse-3>" . switch-to-buffer))
+ ;; ("<drag-mouse-9>" . next-buffer)
+ ;; ("<drag-mouse-2>" . kill-this-buffer)
+ ;; ("<drag-mouse-3>" . switch-to-buffer)
+ )
(bind-keys
:prefix-map b/straight-prefix-map
(ivy-mode 1)
:custom-face
+ (ivy-minibuffer-match-face-1 ((t (:background "#eeeeee"))))
(ivy-minibuffer-match-face-2 ((t (:background "#e7e7e7" :weight bold))))
- (ivy-minibuffer-match-face-3 ((t (:background "#bbbbff" :weight semi-bold))))
- (ivy-minibuffer-match-face-4 ((t (:background "#ffbbff" :weight semi-bold))))
+ (ivy-minibuffer-match-face-3 ((t (:background "light goldenrod" :weight semi-bold))))
+ (ivy-minibuffer-match-face-4 ((t (:background "misty rose" :weight semi-bold))))
(ivy-current-match ((((class color) (background light))
:background "#d7d7d7" :foreground "black")
(((class color) (background dark))
(use-package swiper
:demand
:after ivy
- :bind (("C-s" . swiper-isearch)
- ("C-r" . swiper-isearch-backward)
- ("C-S-s" . swiper-isearch)))
+ :bind (("C-S-s" . swiper-isearch)))
(use-package counsel
- :bind (;; ([remap execute-extended-command] . counsel-M-x)
- ;; ([remap find-file] . counsel-find-file)
- ("C-c f r" . counsel-recentf)
+ :demand
+ :after ivy
+ :bind (("C-c f r" . counsel-recentf)
:map minibuffer-local-map
- ("C-r" . counsel-minibuffer-history))
+ ("C-r" . counsel-minibuffer-history))
:config
(counsel-mode 1)
(defalias 'locate #'counsel-locate))
("C-S-l" . b/eshell-clear)
("M-r" . counsel-esh-history)
;; ([tab] . company-complete)
- ))
+ :map eshell-hist-mode-map
+ ("M-r" . counsel-esh-history)))
:hook (eshell-mode . b/eshell-setup)
:custom
(use-feature text-mode
:bind (:map text-mode-map ("C-*" . b/insert-asterism))
- :hook (text-mode . indicate-buffer-boundaries-left))
+ :hook ((text-mode . indicate-buffer-boundaries-left)
+ (text-mode . flyspell-mode)))
(use-feature conf-mode
:mode "\\.*rc$")
;; prefixes for global prefixes and minor modes
"C-c @" "outline"
"C-c !" "flycheck"
- "C-c 8" "typo"
- "C-c 8 -" "typo/dashes"
- "C-c 8 <" "typo/left-brackets"
- "C-c 8 >" "typo/right-brackets"
+ ;; "C-c 8" "typo"
+ ;; "C-c 8 -" "typo/dashes"
+ ;; "C-c 8 <" "typo/left-brackets"
+ ;; "C-c 8 >" "typo/right-brackets"
"C-x RET" "coding system"
"C-x 8" "unicode"
"C-x @" "event modifiers"
(use-package crux ; results in Waiting for git... [2 times]
:defer 0.4
:bind (("C-c d" . crux-duplicate-current-line-or-region)
- ("C-c D" . crux-duplicate-and-comment-current-line-or-region)
+ ("C-c M-d" . crux-duplicate-and-comment-current-line-or-region)
("C-c f C" . crux-copy-file-preserve-attributes)
("C-c f D" . crux-delete-file-and-buffer)
("C-c f R" . crux-rename-file-and-buffer)
(advice-add 'magit-branch-and-checkout
:after #'my-projectile-invalidate-cache)))
:custom
- ;; (projectile-completion-system 'ivy)
+ (projectile-completion-system 'ivy)
(projectile-mode-line-prefix " proj"))
(use-package helpful
;; easily type pretty quotes & other typography, like ‘’“”-–—«»‹›
(use-package typo
+ :disabled
:defer 0.5
:config
(typo-global-mode 1)
:hook (((text-mode erc-mode web-mode) . typo-mode)
(tex-mode . (lambda ()(typo-mode -1)))))
+(use-feature electric
+ :disabled
+ :demand
+ :config
+ (electric-quote-mode))
+
;; highlight TODOs in buffers
(use-package hl-todo
:defer 0.5
:straight (debbugs
:host github
:repo "emacs-straight/debbugs"
- :files (:defaults "Debbugs.wsdl")))
+ :files (:defaults "Debbugs.wsdl"))
+ :bind
+ (("C-c D d" . debbugs-gnu)
+ ("C-c D e" .
+ (lambda ()
+ (interactive)
+ (setq debbugs-gnu-current-suppress t)
+ (debbugs-gnu debbugs-gnu-default-severities '("emacs"))))
+ ("C-c D g" .
+ (lambda ()
+ (interactive)
+ (setq debbugs-gnu-current-suppress t)
+ (debbugs-gnu debbugs-gnu-default-severities '("gnuzilla"))))
+ ("C-c D G" .
+ (lambda ()
+ (interactive)
+ (setq debbugs-gnu-current-suppress t)
+ (debbugs-gnu debbugs-gnu-default-severities '("guix"))))))
(use-package org-ref
:init
:custom
(debpaste-paste-is-hidden t))
+(use-package scpaste
+ :disabled
+ :config
+ (setq scpaste-http-destination "https://p.bndl.org"
+ scpaste-scp-destination "nix:/var/www/p.bndl.org"))
+
\f
;;; Email (with Gnus)
;; (: gnus-group-split-fancy "INBOX" t "INBOX")
;; gnu
(list ".*<\\(.*\\)\\.\\(non\\)?gnu\\.org>.*" "l.\\1")
+ ;; gnus
+ (list ".*<\\(.*\\)\\.gnus\\.org>.*" "l.\\1")
;; *.lists.sr.ht, omitting one dot if present
;; add more \\.?\\([^.]*\\) if needed
(list ".*<~\\(.*\\)/\\([^.]*\\)\\.?\\([^.]*\\)\\.lists.sr.ht>.*" "l.~\\1.\\2\\3")
(to-list . "webmasters@gnu.org"))
("gnu.*"
(gcc-self . t))
- ("gnu\\."
+ ("l\\."
(subscribed . t))
("nnimap\\+uw:.*"
(gcc-self . t)))
:hook (;; (message-setup . mml-secure-message-sign-pgpmime)
(message-mode . flyspell-mode)
(message-mode . (lambda ()
- ;; (setq fill-column 65
- ;; message-fill-column 65)
+ (setq-local fill-column b/fill-column
+ message-fill-column b/fill-column)
(make-local-variable 'company-idle-delay)
(setq company-idle-delay 0.2))))
;; :custom-face
("r" . footnote-renumber-footnotes)
("s" . footnote-set-style)))
+(use-package bbdb
+ :disabled
+ :demand
+ :after gnus
+ :bind (:map gnus-group-mode-map ("e" . bbdb))
+ :config
+ (bbdb-initialize 'gnus 'message)
+ :custom
+ (bbdb-complete-mail-allow-cycling t)
+ (bbdb-user-mail-address-re message-dont-reply-to-names))
+
(use-package ebdb
:demand
:after gnus