X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/55495e2f1441db1682f53f7e07d7814d574ed2ef..ed8c4fa9df0ec964911597c48da1763c74209a0c:/.emacs.d/init.el diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 7a85083..a90ab7c 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -1,6 +1,6 @@ ;;; init.el --- Amin Bandali's Emacs config -*- lexical-binding: t -*- -;; Copyright (C) 2018-2019 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 @@ -74,7 +74,7 @@ ;;; whoami (setq user-full-name "Amin Bandali" - user-mail-address "amin@bndl.org") + user-mail-address "amin@shemshak.org") ;;; comment macro @@ -473,8 +473,6 @@ For disabling the behaviour for certain buffers and/or modes." ("C-c F d" . delete-frame) ("C-c F D" . server-edit) - ("C-c o" . other-window) - ("C-S-h C" . describe-char) ("C-S-h F" . describe-face) @@ -484,6 +482,8 @@ For disabling the behaviour for certain buffers and/or modes." ("s-p" . beginning-of-buffer) ("s-n" . end-of-buffer) + ("M-O" . facemenu-keymap) + :map emacs-lisp-mode-map ("" . a/add-elisp-section)) @@ -657,7 +657,7 @@ For disabling the behaviour for certain buffers and/or modes." (use-feature recentf :defer 0.2 :config - (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:") + ;; (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:") (setq recentf-max-saved-items 2000)) ;; smart M-x enhancement (needed by counsel for history) @@ -842,7 +842,7 @@ For disabling the behaviour for certain buffers and/or modes." ("M-p" . outline-previous-visible-heading) ("M-n" . outline-next-visible-heading) :prefix-map a/outline-prefix-map - :prefix "s-o" + :prefix "s-O" ("TAB" . outline-toggle-children) ("a" . outline-hide-body) ("H" . outline-hide-body) @@ -1016,7 +1016,8 @@ For disabling the behaviour for certain buffers and/or modes." ;; ’ can be part of a word (setq ispell-local-dictionary-alist `((nil "[[:alpha:]]" "[^[:alpha:]]" - "['\x2019]" nil ("-B") nil utf-8))) + "['\x2019]" nil ("-B") nil utf-8)) + ispell-program-name (executable-find "hunspell")) ;; don't send ’ to the subprocess (defun endless/replace-apostrophe (args) (cons (replace-regexp-in-string @@ -1299,7 +1300,7 @@ For disabling the behaviour for certain buffers and/or modes." "C-c P 4" "projectile/other-window" "C-c q" "boxquote" "s-g" "magit" - "s-o" "outline" + "s-O" "outline" "s-t" "themes") ;; prefixes for major modes @@ -1574,7 +1575,8 @@ For disabling the behaviour for certain buffers and/or modes." :token nday-students-token :subscribed-channels '(general) :full-and-display-names t) - (add-to-list 'swiper-font-lock-exclude 'slack-message-buffer-mode t) + (with-eval-after-load 'swiper + (add-to-list 'swiper-font-lock-exclude 'slack-message-buffer-mode t)) (setq lui-time-stamp-format "[%Y-%m-%d %H:%M:%S]" lui-time-stamp-only-when-changed-p t lui-time-stamp-position 'right) @@ -1608,6 +1610,27 @@ For disabling the behaviour for certain buffers and/or modes." (use-package emojify :hook (erc-mode . emojify-mode)) +(use-feature window + :bind + (("s-o" . other-window) + ("M-o" . other-window) + ("s-/ ." . split-window-right) + ("s-/ ," . split-window-below) + ("s-/ 0" . delete-window) + ("s-q" . delete-window))) + +(use-feature windmove + :defer 0.6 + :bind + (("s-h" . windmove-left) + ("s-j" . windmove-down) + ("s-k" . windmove-up) + ("s-l" . windmove-right) + ("s-H" . windmove-swap-states-left) + ("s-J" . windmove-swap-states-down) + ("s-K" . windmove-swap-states-up) + ("s-L" . windmove-swap-states-right))) + ;;; Email (with Gnus) @@ -1632,7 +1655,7 @@ For disabling the behaviour for certain buffers and/or modes." (nnimap-address "127.0.0.1") (nnimap-server-port 143) (nnimap-authenticator plain) - (nnimap-user "amin@bndl.local")) + (nnimap-user "amin@shemshak.local")) (nnimap "gnu" (nnimap-stream plain) (nnimap-address "127.0.0.1") @@ -1659,6 +1682,7 @@ For disabling the behaviour for certain buffers and/or modes." (list ".*guile-devel.gnu.org" "l.gnu.guile.devel") (list ".*guile-user.gnu.org" "l.gnu.guile.user") (list ".*guix-devel.gnu.org" "l.gnu.guix.devel") + (list ".*help-guix.gnu.org" "l.gnu.guix.help") (list ".*info-guix.gnu.org" "l.gnu.guix.info") (list ".*savannah-hackers-public.gnu.org" "l.gnu.savannah.hackers.public") (list ".*savannah-users.gnu.org" "l.gnu.savannah.users") @@ -1755,6 +1779,9 @@ For disabling the behaviour for certain buffers and/or modes." ("l\\.gnu\\.guix\\.devel" (to-address . "guix-devel@gnu.org") (to-list . "guix-devel@gnu.org")) + ("l\\.gnu\\.guix\\.help" + (to-address . "help-guix@gnu.org") + (to-list . "help-guix@gnu.org")) ("l\\.gnu\\.guix\\.info" (to-address . "info-guix@gnu.org") (to-list . "info-guix@gnu.org")) @@ -1870,23 +1897,22 @@ For disabling the behaviour for certain buffers and/or modes." (use-feature gnus-msg :config - (defvar a/gnu-signature "Amin Bandali | GNU Webmaster -https://bandali.eu.org | https://gnu.org -GPG Key: BE62 7373 8E61 6D6D 1B3A 08E8 A21A 0202 4881 6103") (defvar a/uw-signature "Amin Bandali, MMath Student Cheriton School of Computer Science University of Waterloo -https://bandali.eu.org") - (defvar a/csc-signature "Amin Bandali | Termcom, CSC -https://csclub.uwaterloo.ca/~abandali/") +https://shemshak.org/~amin") + (defvar a/csc-signature "Amin Bandali +Termcom, Computer Science Club +University of Waterloo +https://shemshak.org/~amin") (setq gnus-posting-styles '((".*" - (address "amin@bndl.org") + (address "amin@shemshak.org") (body "\nBest,\n") (eval (setq a/message-cite-say-hi t))) ("nnimap\\+gnu:.*" - (address "bandali@gnu.org") - (signature a/gnu-signature) + (address "mab@gnu.org") + (organization "GNU Project") (eval (set (make-local-variable 'message-user-fqdn) "fencepost.gnu.org"))) ((header "subject" "ThankCRM") (to "webmasters-comment@gnu.org") @@ -1894,11 +1920,13 @@ https://csclub.uwaterloo.ca/~abandali/") (eval (setq a/message-cite-say-hi nil))) ("nnimap\\+uw:.*" (address "abandali@uwaterloo.ca") + (organization "University of Waterloo") (signature a/uw-signature)) ("nnimap\\+uw:INBOX" (gcc "\"nnimap+uw:Sent Items\"")) ("nnimap\\+csc:.*" (address "abandali@csclub.uwaterloo.ca") + (organization "Computer Science Club, University of Waterloo") (signature a/csc-signature) (gcc "nnimap+csc:Sent"))))) @@ -1932,7 +1960,7 @@ https://csclub.uwaterloo.ca/~abandali/") (use-feature sendmail :config - (setq sendmail-program "/usr/bin/msmtp" + (setq sendmail-program (executable-find "msmtp") ;; message-sendmail-extra-arguments '("-v" "-d") mail-specify-envelope-from t mail-envelope-from 'header)) @@ -1969,7 +1997,7 @@ https://csclub.uwaterloo.ca/~abandali/") message-subscribed-address-functions '(gnus-find-subscribed-addresses) message-dont-reply-to-names - "\\(\\(amin@bndl\\.org\\)\\|\\(.*@\\(aminb\\|amin\\.bndl\\)\\.org\\)\\|\\(\\(bandali\\|aminb?\\|mab\\)@gnu\\.org\\)\\|\\(a\\(min\\.\\)?bandali@uwaterloo\\.ca\\)\\|\\(abandali@csclub\\.uwaterloo\\.ca\\)\\)") + "\\(\\(amin@\\(shemshak\\|bndl\\)\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(mab\\|bandali\\|aminb?\\)@gnu\\.org\\)\\|\\(a\\(min\\.\\)?bandali@uwaterloo\\.ca\\)\\|\\(abandali@csclub\\.uwaterloo\\.ca\\)\\)") (require 'company-ebdb) :hook (;; (message-setup . mml-secure-message-sign-pgpmime) (message-mode . flyspell-mode) @@ -2124,6 +2152,7 @@ https://csclub.uwaterloo.ca/~abandali/") (use-feature erc-track :after erc :custom + (erc-track-enable-keybindings nil) (erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT" "324" "329" "332" "333" "353" "477")) (erc-track-priority-faces-only 'all) @@ -2136,7 +2165,7 @@ https://csclub.uwaterloo.ca/~abandali/") :after erc) (use-package znc - :straight (:host nil :repo "https://git.bndl.org/amin/znc.el") + :straight (:host nil :repo "https://git.shemshak.org/amin/znc.el") :bind (("C-c a e e" . znc-erc) ("C-c a e a" . znc-all)) :config @@ -2145,11 +2174,11 @@ https://csclub.uwaterloo.ca/~abandali/") ((null auth) (error "Couldn't find znca's authinfo")) (t (funcall (plist-get (car auth) :secret))))))) (setq znc-servers - `(("znc.bndl.org" 1337 t + `(("znc.shemshak.org" 1337 t ((freenode "amin/freenode" ,pwd))) - ("znc.bndl.org" 1337 t + ("znc.shemshak.org" 1337 t ((moznet "amin/moznet" ,pwd))) - ("znc.bndl.org" 1337 t + ("znc.shemshak.org" 1337 t ((oftc "amin/oftc" ,pwd)))))))