-(use-package debbugs
- :bind
- (("C-c D d" . debbugs-gnu)
- ("C-c D b" . debbugs-gnu-bugs)
- ("C-c D e" .
- (lambda ()
- (interactive) ; bug-gnu-emacs
- (setq debbugs-gnu-current-suppress t)
- (debbugs-gnu debbugs-gnu-default-severities '("emacs"))))
- ("C-c D g" . ; bug-gnuzilla
- (lambda ()
- (interactive)
- (setq debbugs-gnu-current-suppress t)
- (debbugs-gnu debbugs-gnu-default-severities '("gnuzilla"))))
- ("C-c D G b" . ; bug-guix
- (lambda ()
- (interactive)
- (setq debbugs-gnu-current-suppress t)
- (debbugs-gnu debbugs-gnu-default-severities '("guix"))))
- ("C-c D G p" . ; guix-patches
- (lambda ()
- (interactive)
- (setq debbugs-gnu-current-suppress t)
- (debbugs-gnu debbugs-gnu-default-severities '("guix-patches"))))))
-
-(use-package org-ref
- :init
- (b/setq-every '("~/usr/org/references.bib")
- reftex-default-bibliography
- org-ref-default-bibliography)
- (setq
- org-ref-bibliography-notes "~/usr/org/notes.org"
- org-ref-pdf-directory "~/usr/org/bibtex-pdfs/"))
-
-;; (use-package fill-column-indicator)
-
-(use-package window
- :bind
- (("C-c w e" . (lambda ()
- (interactive)
- (split-window-right)
- (other-window 1)
- (erc-switch-to-buffer)))
- ("C-c w s l" . (lambda ()
- (interactive)
- (split-window-right)
- (other-window 1)))
- ("C-c w s j" . (lambda ()
- (interactive)
- (split-window-below)
- (other-window 1)))
- ("C-c w q" . quit-window))
- :custom
- (split-width-threshold 150))
-
-(use-package windmove
- :defer 0.6
- :bind
- (("C-c w h" . windmove-left)
- ("C-c w j" . windmove-down)
- ("C-c w k" . windmove-up)
- ("C-c w l" . windmove-right)
- ("C-c w H" . windmove-swap-states-left)
- ("C-c w J" . windmove-swap-states-down)
- ("C-c w K" . windmove-swap-states-up)
- ("C-c w L" . windmove-swap-states-right)))
-
-(use-package pass
- :commands pass
- :bind ("C-c a p" . pass)
- :hook (pass-mode . View-exit))
-
-(use-package pdf-tools
- :defer 0.5
- :bind (:map pdf-view-mode-map
- ("<C-XF86Back>" . pdf-history-backward)
- ("<mouse-8>" . pdf-history-backward)
- ("<drag-mouse-8>" . pdf-history-backward)
- ("<C-XF86Forward>" . pdf-history-forward)
- ("<mouse-9>" . pdf-history-forward)
- ("<drag-mouse-9>" . pdf-history-forward)
- ("M-RET" . image-previous-line)
- ("C-s" . isearch-forward)
- ("s s" . isearch-forward))
- :config (pdf-tools-install nil t)
- :custom (pdf-view-resize-factor 1.05))
-
-(use-package org-pdftools
- :disabled
- :straight (:host github :repo "fuxialexander/org-pdftools")
- :demand
- :after org
- :config
- (with-eval-after-load 'org
- (require 'org-pdftools)))
-
-(use-package biblio)
-
-(use-package reftex
- :hook (latex-mode . reftex-mode))
-
-(use-package reftex-cite
- :after reftex
- :disabled ; enable to disable
- ; reftex-cite's default choice
- ; of previous word
- :config
- (defun reftex-get-bibkey-default ()
- "If the cursor is in a citation macro, return the word before the macro."
- (let* ((macro (reftex-what-macro 1)))
- (save-excursion
- (when (and macro (string-match "cite" (car macro)))
- (goto-char (cdr macro)))
- (reftex-this-word)))))
-
-(use-package minions
- :demand
- :config (minions-mode))
-
-(use-package dmenu
- :custom
- (dmenu-prompt-string "run: ")
- (dmenu-save-file (b/var "dmenu-items")))
-
-(use-package eosd
- ;; TODO: fix build by properly building the eosd-pixbuf.c module
- ;; e.g. see https://github.com/raxod502/straight.el/issues/386
- :disabled
- :straight (:host github :repo "clarete/eosd")
- :demand
- :after exwm
- :config
- (eosd-start))
-
-(use-package scpaste
- :disabled
- :config
- (setq scpaste-http-destination "https://p.bndl.org"
- scpaste-scp-destination "nix:/var/www/p.bndl.org"))
-
-(use-package eww
- :bind ("C-c a e w" . eww)
- :custom
- (eww-download-directory (file-name-as-directory
- (getenv "XDG_DOWNLOAD_DIR"))))
-
-\f
-;;; Email
-
-(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 'swiper
- (add-to-list 'swiper-font-lock-exclude 'ebdb-mode t)))
-
-(use-package ebdb-com
- :after ebdb)
-
-(use-package ebdb-complete
- :after ebdb
- :config
- ;; (setq ebdb-complete-mail 'capf)
- (ebdb-complete-enable))
-
-(use-package ebdb-message
- :demand
- :after ebdb)
-
-;; (use-package company-ebdb
-;; :config
-;; (defun company-ebdb--post-complete (_) nil))
-
-(use-package ebdb-gnus
- :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)
-
-(use-package message-x)
-
-(comment
- (use-package message-x
- :custom
- (message-x-completion-alist
- (quote
- (("\\([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))))))
-
-(comment
- (use-package gnus-harvest
- :commands gnus-harvest-install
- :demand t
- :config
- (if (featurep 'message-x)
- (gnus-harvest-install 'message-x)
- (gnus-harvest-install))))
-
-(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]+ @@")))
-
-\f
-;;; IRC (with ERC and ZNC)
-
-(use-package erc
- :bind (("C-c b b" . erc-switch-to-buffer)
- :map erc-mode-map
- ("M-a" . erc-track-switch-buffer))
- :custom
- (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
- (defun erc-cmd-OPME ()
- "Request chanserv to op me."
- (erc-message "PRIVMSG"
- (format "chanserv op %s %s"
- (erc-default-target)
- (erc-current-nick)) nil))
- (defun erc-cmd-DEOPME ()
- "Deop myself from current channel."
- (erc-cmd-DEOP (format "%s" (erc-current-nick))))
- (add-to-list 'erc-modules 'keep-place)
- (add-to-list 'erc-modules 'notifications)
- (add-to-list 'erc-modules 'smiley)
- (add-to-list 'erc-modules 'spelling)
- (add-to-list 'erc-modules 'scrolltoplace)
- (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-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))
- :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))
-
-(use-package erc-hl-nicks
- :after erc)
-
-(use-package erc-scrolltoplace
- :after erc)
-
-(use-package znc
- :bind (("C-c a e e" . znc-erc)
- ("C-c a e a" . znc-all))
- :config
- (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.shemshak.org" 1337 t
- ((freenode "amin/freenode" ,pwd)))
- ("znc.shemshak.org" 1337 t
- ((oftc "amin/oftc" ,pwd)))))))
+;; debbugs
+(global-set-key (kbd "C-c D d") #'debbugs-gnu)
+(global-set-key (kbd "C-c D b") #'debbugs-gnu-bugs)
+(global-set-key (kbd "C-c D e") ; bug-gnu-emacs
+ (lambda ()
+ (interactive)
+ (setq debbugs-gnu-current-suppress t)
+ (debbugs-gnu debbugs-gnu-default-severities
+ '("emacs"))))
+(global-set-key (kbd "C-c D g") ; bug-gnuzilla
+ (lambda ()
+ (interactive)
+ (setq debbugs-gnu-current-suppress t)
+ (debbugs-gnu debbugs-gnu-default-severities
+ '("gnuzilla"))))
+(global-set-key (kbd "C-c D G b") ; bug-guix
+ (lambda ()
+ (interactive)
+ (setq debbugs-gnu-current-suppress t)
+ (debbugs-gnu debbugs-gnu-default-severities
+ '("guix"))))
+(global-set-key (kbd "C-c D G p") ; guix-patches
+ (lambda ()
+ (interactive)
+ (setq debbugs-gnu-current-suppress t)
+ (debbugs-gnu debbugs-gnu-default-severities
+ '("guix-patches"))))
+
+;; url and url-cache
+(csetq
+ url-configuration-directory (b/var "url/configuration/")
+ url-cache-directory (b/var "url/cache/"))
+
+;; eww
+(csetq eww-download-directory (file-name-as-directory
+ (getenv "XDG_DOWNLOAD_DIR")))
+(global-set-key (kbd "C-c a e w") #'eww)
+
+;; ;; org-ref
+;; (csetq
+;; reftex-default-bibliography '("~/usr/org/references.bib")
+;; org-ref-default-bibliography '("~/usr/org/references.bib")
+;; org-ref-bibliography-notes "~/usr/org/notes.org"
+;; org-ref-pdf-directory "~/usr/org/bibtex-pdfs/")
+
+;; fill-column-indicator ?
+
+;; window
+(csetq split-width-threshold 150)
+(global-set-key (kbd "C-c w s l")
+ (lambda ()
+ (interactive)
+ (split-window-right)
+ (other-window 1)))
+(global-set-key (kbd "C-c w s j")
+ (lambda ()
+ (interactive)
+ (split-window-below)
+ (other-window 1)))
+(global-set-key (kbd "C-c w q") #'quit-window)
+
+(run-with-idle-timer 0.6 nil #'require 'windmove)
+(global-set-key (kbd "C-c w h") #'windmove-left)
+(global-set-key (kbd "C-c w j") #'windmove-down)
+(global-set-key (kbd "C-c w k") #'windmove-up)
+(global-set-key (kbd "C-c w l") #'windmove-right)
+(global-set-key (kbd "C-c w H") #'windmove-swap-states-left)
+(global-set-key (kbd "C-c w J") #'windmove-swap-states-down)
+(global-set-key (kbd "C-c w K") #'windmove-swap-states-up)
+(global-set-key (kbd "C-c w L") #'windmove-swap-states-right)
+
+;; pass
+;; (global-set-key (kbd "C-c a p") #'pass)
+;; (add-hook 'pass-mode-hook #'View-exit)
+
+;; reftex
+;; uncomment to disable reftex-cite's default choice of previous word
+;; (with-eval-after-load 'reftex
+;; (require 'reftex-cite)
+;; (defun reftex-get-bibkey-default ()
+;; "If the cursor is in a citation macro, return the word before the macro."
+;; (let* ((macro (reftex-what-macro 1)))
+;; (save-excursion
+;; (when (and macro (string-match "cite" (car macro)))
+;; (goto-char (cdr macro)))
+;; (reftex-this-word)))))
+(add-hook 'latex-mode-hook #'reftex-mode)
+
+;; dmenu
+;; (csetq
+;; dmenu-prompt-string "run: "
+;; dmenu-save-file (b/var "dmenu-items"))
+
+;; eosd ?
+
+;; delight
+(run-with-idle-timer 0.5 nil #'require 'delight)
+(with-eval-after-load 'delight
+ (delight 'auto-fill-function " f" "simple")
+ (delight 'abbrev-mode "" "abbrev")
+ (delight 'page-break-lines-mode "" "page-break-lines")
+ (delight 'ivy-mode "" "ivy")
+ (delight 'counsel-mode "" "counsel")
+ (delight 'mml-mode " mml" "mml")
+ (delight 'yas-minor-mode "" "yasnippet"))