#+begin_src emacs-lisp
(bind-keys
("C-c b k" . kill-this-buffer)
- ;; ("C-c s s" . save-buffer)
("C-c b s" . save-buffer)
("C-c S" . save-buffer)
("C-c o" . other-window)
("C-c q q" . save-buffers-kill-terminal)
("C-c F m" . make-frame-command)
("C-c F d" . delete-frame)
- ("C-c F D" . delete-other-frames))
+ ("C-c F D" . delete-other-frames)
+ ("s-c e b" . eval-buffer)
+ ("s-c e r" . eval-region)
+ ("s-p" . beginning-of-buffer)
+ ("s-n" . end-of-buffer))
#+end_src
** Packages
(use-package ox-latex
:config
- (setq org-latex-listings 'listings)
+ (setq org-latex-listings 'listings
+ ;; org-latex-prefer-user-labels t
+ )
(add-to-list 'org-latex-packages-alist '("" "listings"))
(add-to-list 'org-latex-packages-alist '("" "color"))
(add-to-list 'org-latex-classes
(use-package orgalist
:hook (message-mode . orgalist-mode))
-
-;; (use-package org-outline-numbering)
-;; TODO: auto-updating by calling org-outline-numbering-display
#+end_src
**** asynchronous tangle
(use-package magit
:defer t
:bind
- (("s-g" . magit-dispatch-popup)
- ("C-x g" . magit-status)
+ (("s-g" . magit-status)
:prefix-map amin--magit-prefix-map
:prefix "C-c g"
("SPC" . magit-status)
("emacs"
(or
(name . "^\\*scratch\\*$")
- (name . "^\\*Messages\\*$"))))))
+ (name . "^\\*Messages\\*$")))
+ ("slack"
+ (or
+ (name . "^\\*Slack*"))))))
(ibuffer-formats
'((mark modified read-only locked " "
(name 18 18 :left :elide)
(:map
outline-minor-mode-map
("<s-tab>" . outline-toggle-children)
- ("s-p" . outline-previous-visible-heading)
- ("s-n" . outline-next-visible-heading)
+ ("M-p" . outline-previous-visible-heading)
+ ("M-n" . outline-next-visible-heading)
:prefix-map amin--outline-prefix-map
:prefix "s-o"
("TAB" . outline-toggle-children)
#+begin_src emacs-lisp
(use-package flycheck
:hook (prog-mode . flycheck-mode)
+ :bind
+ (:map flycheck-mode-map
+ ("M-P" . flycheck-previous-error)
+ ("M-N" . flycheck-next-error))
:config
;; Use the load-path from running Emacs when checking elisp files
(setq flycheck-emacs-lisp-load-path 'inherit)
:client-secret watform-client-secret
:token watform-token
:subscribed-channels '(general)
- :full-and-display-names t);
+ :full-and-display-names t)
+ (add-to-list 'swiper-font-lock-exclude 'slack-message-buffer-mode t)
:bind
(("C-c s s" . slack-start)
("C-c s u" . slack-select-unread-rooms)
("C-c s t" . slack-change-current-team)
("C-c s c" . slack-ws-close)
:map slack-mode-map
+ ("M-p" . slack-buffer-goto-prev-message)
+ ("M-n" . slack-buffer-goto-next-message)
("C-c e" . slack-message-edit)
("C-c k" . slack-message-delete)
("C-c C-k" . slack-channel-leave)
+ ("C-c r a" . slack-message-add-reaction)
+ ("C-c r r" . slack-message-remove-reaction)
+ ("C-c r s" . slack-message-show-reaction-users)
+ ("C-c p l" . slack-room-pins-list)
+ ("C-c p a" . slack-message-pins-add)
+ ("C-c p r" . slack-message-pins-remove)
("@" . slack-message-embed-mention)
- ("#" . slack-message-embed-channel)));
+ ("#" . slack-message-embed-channel)))
(use-package alert
:commands (alert)
(add-to-list 'recentf-exclude amin-maildir))
#+end_src
+** Gnus
+
+#+begin_src emacs-lisp :tangle yes
+(setq amin-gnus-init-file (no-littering-expand-etc-file-name "gnus"))
+
+(use-package gnus
+ :bind ("C-c m" . gnus)
+ :init
+ (setq
+ gnus-init-file amin-gnus-init-file
+ gnus-home-directory (no-littering-expand-var-file-name "gnus/")
+ gnus-directory (no-littering-expand-var-file-name "gnus/News/")
+ message-directory amin-maildir
+ gnus-save-newsrc-file nil
+ gnus-read-newsrc-file nil
+ gnus-gcc-mark-as-read t))
+
+(use-package mm-decode
+ :config
+ (setq mm-discouraged-alternatives '("text/html" "text/richtext")))
+#+end_src
+
+# #+begin_src emacs-lisp :tangle (concat gnus-init-file ".el") :mkdirp yes
+#+begin_src emacs-lisp :tangle no
+(setq gnus-select-method
+ '(nnmaildir "gnu"
+ (directory "~/mail/gnu/")
+ (directory-files nnheader-directory-files-safe)
+ (get-new-mail nil)))
+#+end_src
+
** sendmail
#+begin_src emacs-lisp