X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/cd2776993118afcb19c34e4c86f3100a9a506147..bb60074bc1784847f77321e96e13b8c0bab6df56:/init.org diff --git a/init.org b/init.org index 9ae1276..ce31d58 100644 --- a/init.org +++ b/init.org @@ -33,6 +33,9 @@ few months, but decided to try =straight.el= which allows direct use of the various package archives. ** Installation +:PROPERTIES: +:CUSTOM_ID: installation +:END: To use this config for your Emacs, first you need to clone this repo, then tangle =init.org= into =init.el=, and optionally byte-compile @@ -46,12 +49,7 @@ cd ~/.emacs.d #+end_src Then, decide if you would like to use a byte-compiled init file, and -set the following variable accordingly: - -#+begin_src emacs-lisp -(defvar a/byte-compiled-init t - "If non-nil, byte-(re)compile init.el on successful tangles.") -#+end_src +set the [[#byte-compiled-init][a/byte-compiled-init]] variable accordingly. Now, first tangle =init.org=, and only if you chose to have a byte-compiled init, build init as well: @@ -139,6 +137,21 @@ file. :CUSTOM_ID: initial-setup :END: +** Byte-compiled init preference +:PROPERTIES: +:CUSTOM_ID: byte-compiled-init +:END: + +If you would like a byte-compiled init file, set the following +variable to ~t~, otherwise set it to ~nil~. + +#+begin_src emacs-lisp +(defvar a/byte-compiled-init t + "If non-nil, byte-(re)compile init.el on successful tangles.") +#+end_src + +You can click on [[#installation][Installation]] to jump back up there if you like :) + ** Emacs initialization I'd like to do a couple of measurements of Emacs' startup time. First, @@ -484,6 +497,33 @@ buffers and/or modes. (setq mouse-autoselect-window nil)) #+end_src +** Better scrolling (arguably) + +#+begin_src emacs-lisp +(setq ;; scroll-margin 1 + ;; scroll-conservatively 10000 + scroll-step 1 + scroll-conservatively 10 + scroll-preserve-screen-position 1) + +(use-feature mwheel + :defer 1 + :config + (setq mouse-wheel-scroll-amount '(1 ((shift) . 1)) ; one line at a time + mouse-wheel-progressive-speed nil ; don't accelerate scrolling + mouse-wheel-follow-mouse t)) ; scroll window under mouse + +(use-feature pixel-scroll + :defer 1 + :config (pixel-scroll-mode 1)) +#+end_src + +** Ask for GPG passphrase in minibuffer + +#+begin_src emacs-lisp +(setq epg-pinentry-mode 'loopback) +#+end_src + ** Libraries #+begin_src emacs-lisp @@ -757,12 +797,11 @@ Some bindings for functions from built-in GNU Emacs packages: ("C-c o" . other-window) - ("C-c Q" . save-buffers-kill-terminal) - ("C-S-h C" . describe-char) ("C-S-h F" . describe-face) - ("C-x K" . kill-this-buffer) + ("C-x k" . kill-this-buffer) + ("C-x K" . kill-buffer) ("s-p" . beginning-of-buffer) ("s-n" . end-of-buffer)) @@ -1169,6 +1208,7 @@ There's no way I could top that, so I won't attempt to. (mode . python-mode) (mode . c-mode) (mode . c++-mode) + (mode . java-mode) (mode . emacs-lisp-mode) (mode . scheme-mode) (mode . haskell-mode) @@ -2209,8 +2249,11 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (use-package yasnippet :defer 3 :config + (defconst yas-verbosity-cur yas-verbosity) + (setq yas-verbosity 2) (add-to-list 'yas-snippet-dirs "~/src/git/guix/etc/snippets") (yas-reload-all) + (setq yas-verbosity yas-verbosity-cur) :hook (text-mode . yas-minor-mode)) #+end_src @@ -2252,7 +2295,13 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (nnimap-address "127.0.0.1") (nnimap-server-port 143) (nnimap-authenticator plain) - (nnimap-user "abandali@uwaterloo.ca"))) + (nnimap-user "abandali@uwaterloo.ca")) + (nnimap "csclub" + (nnimap-stream plain) + (nnimap-address "127.0.0.1") + (nnimap-server-port 143) + (nnimap-authenticator plain) + (nnimap-user "abandali@csclub.uw"))) gnus-message-archive-group "nnimap+amin:Sent" gnus-parameters '(("gnu.*" @@ -2330,7 +2379,10 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (eval (setq a/message-cite-say-hi nil))) ("nnimap\\+uwaterloo:.*" (address "abandali@uwaterloo.ca") - (gcc "\"nnimap+uwaterloo:Sent Items\""))))) + (gcc "\"nnimap+uwaterloo:Sent Items\"")) + ("nnimap\\+csclub:.*" + (address "abandali@csclub.uwaterloo.ca") + (gcc "nnimap+csclub:Sent"))))) (use-feature gnus-topic :hook (gnus-group-mode . gnus-topic-mode)) @@ -2342,7 +2394,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (use-feature gnus-group :config - (setq gnus-permanently-visible-groups "\\((INBOX\\|gnu$\\)")) + (setq gnus-permanently-visible-groups "\\(:INBOX$\\|:gnu$\\)")) (use-feature mm-decode :config @@ -2383,7 +2435,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. message-send-mail-function 'message-send-mail-with-sendmail message-sendmail-envelope-from 'header message-dont-reply-to-names - "\\(\\(.*@aminb\\.org\\)\\|\\(amin@bandali\\.me\\)\\|\\(\\(aminb?\\|mab\\|bandali\\)@gnu\\.org\\)\\|\\(\\(m\\|a\\(min\\.\\)?\\)bandali@uwaterloo\\.ca\\)\\)" + "\\(\\(.*@aminb\\.org\\)\\|\\(amin@bandali\\.me\\)\\|\\(\\(aminb?\\|mab\\|bandali\\)@gnu\\.org\\)\\|\\(\\(m\\|a\\(min\\.\\)?\\)bandali@uwaterloo\\.ca\\)\\|\\(abandali@csclub\\.uwaterloo\\.ca\\)\\)" message-user-fqdn "aminb.org") (require 'company-ebdb) :hook (;; (message-setup . mml-secure-message-sign-pgpmime) @@ -2411,6 +2463,10 @@ Convenient footnotes in =message-mode=. #+begin_src emacs-lisp (use-feature footnote :after message + ;; :config + ;; (setq footnote-start-tag "" + ;; footnote-end-tag "" + ;; footnote-style 'unicode) :bind (:map message-mode-map :prefix-map a/footnote-prefix-map @@ -2421,11 +2477,7 @@ Convenient footnotes in =message-mode=. ("d" . footnote-delete-footnote) ("g" . footnote-goto-footnote) ("r" . footnote-renumber-footnotes) - ("s" . footnote-set-style)) - :config - (setq footnote-start-tag "" - footnote-end-tag "" - footnote-style 'unicode)) + ("s" . footnote-set-style))) #+end_src ** ebdb