(require 'borg)
(borg-initialize)
-(require 'borg-nix-shell)
-(setq borg-build-shell-command 'borg-nix-shell-build-command)
+;; (require 'borg-nix-shell)
+;; (setq borg-build-shell-command 'borg-nix-shell-build-command)
(with-eval-after-load 'bind-key
(bind-keys
Font stack with better unicode support, around =Ubuntu Mono= and
=Hack=.
-#+begin_src emacs-lisp
+#+begin_src emacs-lisp :tangle no
(dolist (ft (fontset-list))
(set-fontset-font
ft
'unicode
- (font-spec :name "Ubuntu Mono"))
+ (font-spec :name "Source Code Pro" :size 14))
(set-fontset-font
ft
'unicode
'prepend))
#+end_src
+** Gentler font resizing
+
+#+begin_src emacs-lisp
+(setq text-scale-mode-step 1.05)
+#+end_src
+
** Libraries
#+begin_src emacs-lisp
org-src-preserve-indentation nil
org-edit-src-content-indentation 0
org-log-done 'time)
- :hook (org-mode . org-indent-mode))
+ :hook (org-mode . org-indent-mode)
+ :custom
+ (org-latex-packages-alist '(("" "listings") ("" "color"))))
+
+(use-package ox-latex
+ :config
+ (setq org-latex-listings 'listings)
+ (add-to-list 'org-latex-packages-alist '("" "listings"))
+ (add-to-list 'org-latex-packages-alist '("" "color"))
+ (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))
(use-package org-notmuch
:after (:any org notmuch))
+
+(use-package orgalist)
#+end_src
**** asynchronous tangle
:hook (ibuffer . (lambda () (ibuffer-switch-to-saved-filter-groups "default"))))
#+end_src
+*** Outline
+
+#+begin_src emacs-lisp
+(use-package outline
+ :hook (prog-mode . outline-minor-mode)
+ :bind
+ (:map
+ outline-minor-mode-map
+ ("<s-tab>" . outline-toggle-children)
+ ("s-p" . outline-previous-visible-heading)
+ ("s-n" . outline-next-visible-heading)
+ :prefix-map amin--outline-prefix-map
+ :prefix "s-o"
+ ("TAB" . outline-toggle-children)
+ ("a" . outline-hide-body)
+ ("H" . outline-hide-body)
+ ("S" . outline-show-all)
+ ("h" . outline-hide-subtree)
+ ("s" . outline-show-subtree)))
+#+end_src
+
* Borg's =layer/essentials=
TODO: break this giant source block down into individual org sections.
(use-package recentf
:demand t
- :config (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:"))
+ :config
+ (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:")
+ (setq recentf-max-saved-items 40))
(use-package savehist
:config (savehist-mode))
:hook (web-mode css-mode html-mode sgml-mode))
#+end_src
+** Nix
+
+#+begin_src emacs-lisp
+(use-package nix-mode
+ :mode "\\.nix\\'")
+#+end_src
+
* Emacs Enhancements
** [[https://github.com/justbur/emacs-which-key][which-key]]
#+end_src
* Email
-** [[https://notmuchmail.org][notmuch]]
-
-See [[notmuch:id:87muuqsvci.fsf@fencepost.gnu.org][bug follow-up]].
#+begin_src emacs-lisp
-(defvar amin-maildir "~/mail")
+(defvar amin-maildir (expand-file-name "~/mail/"))
+(after! recentf
+ (add-to-list 'recentf-exclude amin-maildir))
+#+end_src
+** sendmail
+
+#+begin_src emacs-lisp
(use-package sendmail
- ;; :ensure nil
:config
(setq sendmail-program "/usr/bin/msmtp"
- ; message-sendmail-extra-arguments '("-v" "-d")
+ ;; message-sendmail-extra-arguments '("-v" "-d")
mail-specify-envelope-from t
mail-envelope-from 'header))
+#+end_src
+** message
+
+#+begin_src emacs-lisp
(use-package message
- ;; :ensure nil
:config
(setq message-kill-buffer-on-exit t
message-send-mail-function 'message-send-mail-with-sendmail
message-sendmail-envelope-from 'header
- message-directory "drafts"
+ ;; message-directory "drafts"
message-user-fqdn "aminb.org")
(add-hook 'message-mode-hook
(lambda () (setq fill-column 65
message-fill-column 65)))
(add-hook 'message-mode-hook
#'flyspell-mode)
- ;; (add-hook 'notmuch-message-mode-hook #'+doom-modeline|set-special-modeline)
- ;; TODO: is there a way to only run this when replying and not composing?
- ;; (add-hook 'notmuch-message-mode-hook
- ;; (lambda () (progn
- ;; (newline)
- ;; (newline)
- ;; (forward-line -1)
- ;; (forward-line -1))))
;; (add-hook 'message-setup-hook
;; #'mml-secure-message-sign-pgpmime)
)
(after! mml-sec
(setq mml-secure-openpgp-encrypt-to-self t
mml-secure-openpgp-sign-with-sender t))
+#+end_src
+
+** [[https://notmuchmail.org][notmuch]]
+
+See [[notmuch:id:87muuqsvci.fsf@fencepost.gnu.org][bug follow-up]].
+#+begin_src emacs-lisp
(defun amin/notmuch ()
"Delete other windows, then launch `notmuch'."
(interactive)
(use-package notmuch
:commands notmuch
- :bind ("C-c m" . amin/notmuch)
+ :bind ("C-c n" . amin/notmuch)
:custom (notmuch-always-prompt-for-sender t)
:config
(setq notmuch-hello-sections
notmuch-hello-thousands-separator ","
notmuch-fcc-dirs
'(("amin@aminb.org" . "amin/Sent")
- ("amin@gnu.org" . "gnu/Sent")
+ ("bandali@gnu.org" . "gnu/Sent")
("abandali@uwaterloo.ca" . "\"uwaterloo/Sent Items\"")
("mab@gnu.org" . "gnu/Sent")
+ ("amin@gnu.org" . "gnu/Sent")
("aminb@gnu.org" . "gnu/Sent")
(".*" . "sent"))
notmuch-search-result-format
(after! notmuch-crypto
(setq notmuch-crypto-process-mime t))
-
-(after! recentf
- (add-to-list 'recentf-exclude (expand-file-name amin-maildir)))
#+end_src
** supercite