X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/54209e748b3d2b28623ca860fcfc90855f283444..cec07e02b730c3fe8aa3972b0b5406f594c5b702:/.emacs.d/init.el?ds=sidebyside diff --git a/.emacs.d/init.el b/.emacs.d/init.el index d6811e7..5059f1c 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -445,6 +445,10 @@ For disabling the behaviour for certain buffers and/or modes." ;; allow scrolling in Isearch (setq isearch-allow-scroll t) +;; open read-only file buffers in view-mode +;; (enables niceties like `q' for quit) +(setq view-read-only t) + (use-feature vc :bind ("C-x v C-=" . vc-ediff)) @@ -486,6 +490,15 @@ For disabling the behaviour for certain buffers and/or modes." (when (display-graphic-p) (unbind-key "C-z" global-map)) +(bind-keys + ;; for back and forward mouse keys + ("" . previous-buffer) + ("" . previous-buffer) + ("" . next-buffer) + ("" . next-buffer) + ("" . kill-this-buffer) + ("" . ivy-switch-buffer)) + (bind-keys :prefix-map a/straight-prefix-map :prefix "C-c p s" @@ -930,6 +943,10 @@ For disabling the behaviour for certain buffers and/or modes." :demand :config (show-paren-mode)) +(use-feature elec-pair + :demand + :config (electric-pair-mode)) + (use-feature simple :delight (auto-fill-function " fill") :config (column-number-mode)) @@ -1477,6 +1494,8 @@ For disabling the behaviour for certain buffers and/or modes." (use-package page-break-lines :defer 0.5 :delight " pgln" + :custom + (page-break-lines-max-width fill-column) :config (global-page-break-lines-mode)) @@ -1502,11 +1521,10 @@ For disabling the behaviour for certain buffers and/or modes." :config (defconst yas-verbosity-cur yas-verbosity) (setq yas-verbosity 2) - (add-to-list 'yas-snippet-dirs "~/src/git/guix/etc/snippets") + (add-to-list 'yas-snippet-dirs "~/src/git/guix/etc/snippets" t) (yas-reload-all) (setq yas-verbosity yas-verbosity-cur) - :hook - (text-mode . yas-minor-mode)) + (yas-global-mode)) (use-package debbugs :straight (debbugs @@ -1527,9 +1545,10 @@ For disabling the behaviour for certain buffers and/or modes." :commands (alert) :init (setq alert-default-style 'notifications)) -(use-package ivy-xref - :init - (setq xref-show-xrefs-function #'ivy-xref-show-xrefs)) +;; (use-package fill-column-indicator) + +(use-package emojify + :hook (erc-mode . emojify-mode)) ;;; Email (with Gnus) @@ -1572,6 +1591,7 @@ For disabling the behaviour for certain buffers and/or modes." (list ".*help-gnu-emacs.gnu.org" "l.gnu.emacs.help") (list ".*info-gnu-emacs.gnu.org" "l.gnu.emacs.info") (list ".*emacs-orgmode.gnu.org" "l.gnu.emacs.orgmode") + (list ".*emacs-tangents.gnu.org" "l.gnu.emacs.tangents") (list ".*emacsconf-discuss.gnu.org" "l.gnu.emacsconf.discuss") (list ".*fencepost-users.gnu.org" "l.gnu.fencepost.users") (list ".*gnunet-developers.gnu.org" "l.gnu.gnunet.developers") @@ -1581,6 +1601,8 @@ For disabling the behaviour for certain buffers and/or modes." (list ".*guile-devel.gnu.org" "l.gnu.guile.devel") (list ".*guix-devel.gnu.org" "l.gnu.guix.devel") (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") (list ".*www-commits.gnu.org" "l.gnu.www.commits") (list ".*www-discuss.gnu.org" "l.gnu.www.discuss") ;; webmasters @@ -1604,7 +1626,16 @@ 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 "abandali@uw.local")) + (nnimap-user "abandali@uw.local") + (nnimap-inbox "INBOX") + (nnimap-split-methods 'nnimap-split-fancy) + (nnimap-split-fancy (| + (: gnus-registry-split-fancy-with-parent) + ;; se463-s19 + ("subject" "\\(SE\\s-?463\\|Deliverable\\)" "course.se463-s19") + (from "\\(SE\\s-?463\\|Gema\\|Hemant\\|Davood\\|Camilo\\|Reza\\|Michael\\|Sandy\\)" "course.se463-s19") + ;; catch-all + "INBOX"))) (nnimap "csc" (nnimap-stream plain) (nnimap-address "127.0.0.1") @@ -1630,6 +1661,9 @@ For disabling the behaviour for certain buffers and/or modes." (to-address . "emacs-orgmode@gnu.org") (to-list . "emacs-orgmode@gnu.org") (list-identifier . "\\[O\\]")) + ("l\\.gnu\\.emacs\\.tangents" + (to-address . "emacs-tangents@gnu.org") + (to-list . "emacs-tangents@gnu.org")) ("l\\.gnu\\.emacsconf\\.discuss" (to-address . "emacsconf-discuss@gnu.org") (to-list . "emacsconf-discuss@gnu.org")) @@ -1662,6 +1696,12 @@ For disabling the behaviour for certain buffers and/or modes." ("l\\.gnu\\.guix\\.info" (to-address . "info-guix@gnu.org") (to-list . "info-guix@gnu.org")) + ("l\\.gnu\\.savannah\\.hackers\\.public" + (to-address . "savannah-hackers-public@gnu.org") + (to-list . "savannah-hackers-public@gnu.org")) + ("l\\.gnu\\.savannah\\.users" + (to-address . "savannah-users@gnu.org") + (to-list . "savannah-users@gnu.org")) ("l\\.gnu\\.www\\.commits" (to-address . "www-commits@gnu.org") (to-list . "www-commits@gnu.org")) @@ -1978,6 +2018,48 @@ https://csclub.uwaterloo.ca/~abandali/") ;;; IRC +(use-feature erc + :bind (("C-c a e b" . erc-switch-to-buffer) + :map erc-mode-map + ("M-a" . erc-track-switch-buffer)) + :custom + (erc-fill-function 'erc-fill-static) + (erc-fill-static-center 18) + (erc-join-buffer 'bury) + (erc-lurker-hide-list '("JOIN" "PART" "QUIT")) + (erc-nick "bandali") + (erc-pcomplete-nick-postfix ",") + (erc-rename-buffers t) + (erc-server-reconnect-attempts 5) + (erc-server-reconnect-timeout 3) + (erc-track-exclude-types '("JOIN" "MODE" "NICK" "PART" "QUIT" + "324" "329" "332" "333" "353" "477")) + (erc-track-priority-faces-only 'all) + :config + (with-eval-after-load 'ivy + ;; ignore channel buffer names + (add-to-list 'ivy-ignore-buffers "^#")) + (defun erc-cmd-OPME () + "Request chanserv to op me." + (erc-message "PRIVMSG" + (format "chanserv op %s %s" + (erc-default-target) + (erc-current-nick)) nil)) + (defun erc-cmd-DEOPME () + "Deop myself from current channel." + (erc-cmd-DEOP (format "%s" (erc-current-nick)))) + (add-to-list 'erc-modules 'keep-place) + (add-to-list 'erc-modules 'notifications) + (add-to-list 'erc-modules 'spelling) + (add-to-list 'erc-modules 'scrolltoplace) + (erc-update-modules)) + +(use-package erc-hl-nicks + :after erc) + +(use-package erc-scrolltoplace + :after erc) + (use-package znc :straight (:host nil :repo "https://git.bndl.org/amin/znc.el") :bind (("C-c a e e" . znc-erc) @@ -1991,7 +2073,9 @@ https://csclub.uwaterloo.ca/~abandali/") `(("znc.bndl.org" 1337 t ((freenode "amin/freenode" ,pwd))) ("znc.bndl.org" 1337 t - ((moznet "amin/moznet" ,pwd))))))) + ((moznet "amin/moznet" ,pwd))) + ("znc.bndl.org" 1337 t + ((oftc "amin/oftc" ,pwd))))))) ;;; Post initialization