X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/a38db49919c62e1cfef417159618770e031ab2b7..2dff0318fc314ce817db04d7e758d2bcfa0db565:/init.org diff --git a/init.org b/init.org index ed18e58..6877be2 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: @@ -107,7 +105,7 @@ file. ** License #+begin_src emacs-lisp :comments none -;; Copyright (C) 2018 Amin Bandali +;; Copyright (C) 2018-2019 Amin Bandali ;; This program is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -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 @@ -2326,7 +2369,7 @@ Also see [[https://www.emacswiki.org/emacs/rebox2][rebox2]]. (address "bandali@gnu.org")) ((header "subject" "ThankCRM") (to "webmasters-comment@gnu.org") - (body "\nAdded to 2018supporters.html.\n\nMoving to campaigns.\n\n-amin\n") + (body "\nAdded to 2019supporters.html.\n\nMoving to campaigns.\n\n-amin\n") (eval (setq a/message-cite-say-hi nil))) ("nnimap\\+uwaterloo:.*" (address "abandali@uwaterloo.ca") @@ -2342,7 +2385,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 @@ -2411,6 +2454,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 +2468,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