X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/a89c8bd86f292f36af628f0b5306c0a3dfdaa744..22fff83b4157b81ad6d739eadb16774b6eb505e3:/.emacs.d/init.el diff --git a/.emacs.d/init.el b/.emacs.d/init.el index d2afd0f..0d2c850 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -1,6 +1,6 @@ -;;; init.el --- bandali's emacs configuration -*- lexical-binding: t -*- +;;; init.el --- mab's emacs configuration -*- lexical-binding: t -*- -;; Copyright (C) 2018-2020 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 @@ -82,7 +82,7 @@ ;;; whoami (setq user-full-name "Amin Bandali" - user-mail-address "bandali@gnu.org") + user-mail-address "mab@gnu.org") ;;; comment macro @@ -122,7 +122,7 @@ ;;; Initial setup -(defvar b/exwm-p (string= (system-name) "jirud") +(defvar b/exwm-p (string= (system-name) "chaman") "Whether or not we will be using `exwm'.") ;; keep ~/.emacs.d clean @@ -226,6 +226,12 @@ For disabling the behaviour for certain buffers and/or modes." (make-local-variable 'mouse-autoselect-window) (setq mouse-autoselect-window nil)) +(defun b/kill-current-buffer () + "Kill the current buffer." + ;; also see https://redd.it/64xb3q + (interactive) + (kill-buffer (current-buffer))) + ;;; Defaults @@ -497,7 +503,7 @@ For disabling the behaviour for certain buffers and/or modes." ("C-S-h C" . describe-char) ("C-S-h F" . describe-face) - ("C-x k" . kill-this-buffer) + ("C-x k" . b/kill-current-buffer) ("C-x K" . kill-buffer) ("C-x s" . save-buffer) ("C-x S" . save-some-buffers) @@ -633,17 +639,17 @@ around if needed." ([XF86AudioMute] . (lambda () (interactive) - (start-process "" nil "pamixer" "--toggle-mute"))) + (start-process "" nil "amixer" "set" "'Master',0" "toggle"))) ([XF86AudioLowerVolume] . (lambda () (interactive) (start-process - "" nil "pamixer" "--allow-boost" "--decrease" "5"))) + "" nil "amixer" "set" "'Master',0" "5%-"))) ([XF86AudioRaiseVolume] . (lambda () (interactive) (start-process - "" nil "pamixer" "--allow-boost" "--increase" "5"))) + "" nil "amixer" "set" "'Master',0" "5%+"))) ([XF86AudioPlay] . (lambda () (interactive) @@ -851,7 +857,7 @@ around if needed." ;; 'magit-insert-untracked-files ;; 'append) (setq magit-repository-directories '(("~/" . 0) - ("~/src/git/" . 1))) + ("~/src/git/" . 2))) (nconc magit-section-initial-visibility-alist '(([unpulled status] . show) ([unpushed status] . show))) @@ -1030,8 +1036,12 @@ This function is intended for use with `ivy-ignore-buffers'." ("C-S-l" . b/eshell-clear) ("M-r" . counsel-esh-history) ;; ([tab] . company-complete) - :map eshell-hist-mode-map - ("M-r" . counsel-esh-history))) + ) + (if (version< "27" emacs-version) + (bind-keys :map eshell-hist-mode-map + ("M-r" . counsel-esh-history)) + (bind-keys :map eshell-mode-map + ("M-r" . counsel-esh-history)))) :hook (eshell-mode . b/eshell-setup) :custom @@ -1599,7 +1609,8 @@ This function is intended for use with `ivy-ignore-buffers'." (interactive) (mapc #'disable-theme custom-enabled-themes) (load-theme 'tangomod t) - (sml/apply-theme 'tangomod) + (when (featurep 'smart-mode-line) + (sml/apply-theme 'tangomod)) (font-lock-remove-keywords 'org-mode b/org-mode-font-lock-keywords) (when (featurep 'erc-hl-nicks) @@ -1612,7 +1623,8 @@ This function is intended for use with `ivy-ignore-buffers'." (interactive) (mapc #'disable-theme custom-enabled-themes) (load-theme 'doom-one t) - (sml/apply-theme 'automatic) + (when (featurep 'smart-mode-line) + (sml/apply-theme 'automatic)) (font-lock-add-keywords 'org-mode b/org-mode-font-lock-keywords t) (when (featurep 'erc-hl-nicks) @@ -2129,7 +2141,7 @@ This function is intended for use with `ivy-ignore-buffers'." (nnimap-address "127.0.0.1") (nnimap-server-port 143) (nnimap-authenticator plain) - (nnimap-user "bandali@gnu.local") + (nnimap-user "mab@gnu.local") (nnimap-inbox "INBOX") (nnimap-split-methods 'nnimap-split-fancy) (nnimap-split-fancy (| @@ -2412,17 +2424,19 @@ https://shemshak.org/~amin") (defvar b/uw-signature "Amin Bandali, MMath Student Cheriton School of Computer Science University of Waterloo -https://bndl.org") +https://bandali.eu.org") (defvar b/csc-signature "Amin Bandali -Systems Committee +System Administrator, Systems Committee Computer Science Club, University of Waterloo https://csclub.uwaterloo.ca/~abandali") (setq gnus-message-replysign t gnus-posting-styles '((".*" - (address "bandali@gnu.org")) + (address "mab@gnu.org")) ("nnimap\\+gnu:l\\..*" (signature nil)) + ("nnimap\\+gnu:.*" + (organization "GNU")) ((header "subject" "ThankCRM") (to "webmasters-comment@gnu.org") (body "") @@ -2484,7 +2498,8 @@ https://csclub.uwaterloo.ca/~abandali") (use-package mm-uu :config - (set-face-attribute 'mm-uu-extract nil :extend t) + (when (version< "27" emacs-version) + (set-face-attribute 'mm-uu-extract nil :extend t)) :custom (mm-uu-diff-groups-regexp "\\(gmane\\|gnu\\|l\\)\\..*\\(diff\\|commit\\|cvs\\|bug\\|dev\\)")) @@ -2529,7 +2544,7 @@ https://csclub.uwaterloo.ca/~abandali") message-subscribed-address-functions '(gnus-find-subscribed-addresses) message-dont-reply-to-names - "\\(\\(\\(amin\\|mab\\)@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\)") + "\\(\\(\\(amin\\|mab\\)@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(mab\\|bandali\\|aminb?\\)@gnu\\.org\\)\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\)") ;; (require 'company-ebdb) :hook (;; (message-setup . mml-secure-message-sign-pgpmime) (message-mode . flyspell-mode) @@ -2683,6 +2698,7 @@ https://csclub.uwaterloo.ca/~abandali") (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 'smiley) (add-to-list 'erc-modules 'spelling) (add-to-list 'erc-modules 'scrolltoplace) (erc-update-modules)) @@ -2717,22 +2733,21 @@ https://csclub.uwaterloo.ca/~abandali") (use-package erc-scrolltoplace :after erc) -;; (use-package znc -;; :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 -;; (let ((pwd (let ((auth (auth-source-search :host "znca"))) -;; (cond -;; ((null auth) (error "Couldn't find znca's authinfo")) -;; (t (funcall (plist-get (car auth) :secret))))))) -;; (setq znc-servers -;; `(("znc.shemshak.org" 1337 t -;; ((freenode "amin/freenode" ,pwd))) -;; ("znc.shemshak.org" 1337 t -;; ((moznet "amin/moznet" ,pwd))) -;; ("znc.shemshak.org" 1337 t -;; ((oftc "amin/oftc" ,pwd))))))) +(use-package znc + :bind (("C-c a e e" . znc-erc) + ("C-c a e a" . znc-all)) + :config + (let ((pwd (let ((auth (auth-source-search :host "znca"))) + (cond + ((null auth) (error "Couldn't find znca's authinfo")) + (t (funcall (plist-get (car auth) :secret))))))) + (setq znc-servers + `(("znc.shemshak.org" 1337 t + ((freenode "amin/freenode" ,pwd))) + ("znc.shemshak.org" 1337 t + ((moznet "amin/moznet" ,pwd))) + ("znc.shemshak.org" 1337 t + ((oftc "amin/oftc" ,pwd))))))) ;;; Post initialization