diff options
Diffstat (limited to '')
-rw-r--r-- | Makefile | 17 | ||||
-rw-r--r-- | early-init.el | 10 | ||||
-rw-r--r-- | etc/yasnippet/snippets/latex-mode/etal | 2 | ||||
-rw-r--r-- | init.el | 115 | ||||
m--------- | lib/amx | 0 | ||||
m--------- | lib/borg | 0 | ||||
m--------- | lib/dash | 0 | ||||
m--------- | lib/diff-hl | 0 | ||||
m--------- | lib/ebdb | 0 | ||||
m--------- | lib/ivy | 0 | ||||
m--------- | lib/libgit | 0 | ||||
m--------- | lib/magit | 0 | ||||
m--------- | lib/minions | 0 | ||||
m--------- | lib/no-littering | 0 | ||||
m--------- | lib/org | 0 | ||||
m--------- | lib/orgalist | 0 | ||||
m--------- | lib/transient | 0 | ||||
m--------- | lib/use-package | 0 | ||||
m--------- | lib/which-key | 0 | ||||
m--------- | lib/with-editor | 0 | ||||
m--------- | lib/yasnippet | 0 | ||||
-rw-r--r-- | lisp/bandali-erc.el | 8 | ||||
-rw-r--r-- | lisp/bandali-gnus.el | 12 | ||||
-rw-r--r-- | lisp/bandali-message.el | 2 | ||||
-rw-r--r-- | lisp/bandali-utils.el | 118 |
25 files changed, 165 insertions, 119 deletions
@@ -1,8 +1,23 @@ -include lib/borg/borg.mk +INIT_FILES = early-init.el +INIT_FILES += init.el +INIT_FILES += lisp/bandali-utils.el +INIT_FILES += lisp/bandali-org.el +INIT_FILES += lisp/bandali-theme.el +INIT_FILES += lisp/bandali-ivy.el +INIT_FILES += lisp/bandali-eshell.el +INIT_FILES += lisp/bandali-ibuffer.el +INIT_FILES += lisp/bandali-dired.el +INIT_FILES += lisp/bandali-gnus.el +INIT_FILES += lisp/bandali-message.el +INIT_FILES += lisp/bandali-ebdb.el +INIT_FILES += lisp/bandali-erc.el +INIT_FILES += lisp/bandali-yasnippet.el + bootstrap-borg: @git submodule--helper clone --name borg --path lib/borg \ - --url git@github.com:emacscollective/borg.git + --url https://github.com/emacscollective/borg.git @cd lib/borg; git symbolic-ref HEAD refs/heads/master @cd lib/borg; git reset --hard HEAD diff --git a/early-init.el b/early-init.el index 3ee38c2..bb6d45c 100644 --- a/early-init.el +++ b/early-init.el @@ -1,3 +1,13 @@ ;; No package.el (for emacs 27 and later). See ;; https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=24acb31c04b4048b85311d794e600ecd7ce60d3b (setq package-enable-at-startup nil) +(setq load-prefer-newer t) +(defmacro comment (&rest _) + "Comment out one or more s-expressions." + (declare (indent defun)) + nil) +(add-to-list + 'load-path + (expand-file-name + (convert-standard-filename "lisp") user-emacs-directory)) +(require 'bandali-utils) diff --git a/etc/yasnippet/snippets/latex-mode/etal b/etc/yasnippet/snippets/latex-mode/etal index 3f80334..96e1fb0 100644 --- a/etc/yasnippet/snippets/latex-mode/etal +++ b/etc/yasnippet/snippets/latex-mode/etal @@ -2,4 +2,4 @@ # name: etal # key: etal # -- -\emph{et al.}$0
\ No newline at end of file +\emph{et~al.}$0
\ No newline at end of file @@ -95,15 +95,6 @@ user-mail-address "bandali@gnu.org") -;;; comment macro - -;; useful for commenting out multiple sexps at a time -(defmacro comment (&rest _) - "Comment out one or more s-expressions." - (declare (indent defun)) - nil) - - ;;; Package management (progn ; `borg' @@ -181,99 +172,6 @@ (or (server-running-p) (server-mode))) -;;; Useful utilities - -(defmacro b/setq-every (value &rest vars) - "Set all the variables from VARS to value VALUE." - (declare (indent defun) (debug t)) - `(progn ,@(mapcar (lambda (x) (list 'setq x value)) vars))) - -(defun b/start-process (program &rest args) - "Same as `start-process', but doesn't bother about name and buffer." - (let ((process-name (concat program "_process")) - (buffer-name (generate-new-buffer-name - (concat program "_output")))) - (apply #'start-process - process-name buffer-name program args))) - -(defun b/dired-start-process (program &optional args) - "Open current file with a PROGRAM." - ;; Shell command looks like this: "program [ARGS]... FILE" (ARGS can - ;; be nil, so remove it). - (declare-function dired-get-file-for-visit "dired") - (apply #'b/start-process - program - (remove nil (list args (dired-get-file-for-visit))))) - -(defun b/add-elisp-section () - (interactive) - (insert "\n") - (forward-line -1) - (insert "\n\n;;; ")) - -;; (defvar b/fill-column 47 -;; "My custom `fill-column'.") - -(defconst b/asterism "* * *") - -(defun b/insert-asterism () - "Insert a centred asterism." - (interactive) - (insert - (concat - "\n\n" - (make-string (floor (/ (- fill-column (length b/asterism)) 2)) - ?\s) - b/asterism - "\n\n"))) - -(defun b/no-mouse-autoselect-window () - "Conveniently disable `focus-follows-mouse'. -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))) - -(defun b/move-indentation-or-beginning-of-line (arg) - "Move to the indentation or to the beginning of line." - (interactive "^p") - ;; (if (bolp) - ;; (back-to-indentation) - ;; (move-beginning-of-line arg)) - (if (= (point) - (progn (back-to-indentation) - (point))) - (move-beginning-of-line arg))) - -(defun b/join-line-top () - "Like `join-line', but join next line to the current line." - (interactive) - (join-line 1)) - -(defun b/duplicate-line-or-region (&optional n) - "Duplicate the current line, or region (if active). -Make N (default: 1) copies of the current line or region." - (interactive "*p") - (let ((u-r-p (use-region-p)) ; if region is active - (n1 (or n 1))) - (save-excursion - (let ((text - (if u-r-p - (buffer-substring (region-beginning) (region-end)) - (prog1 (thing-at-point 'line) - (end-of-line) - (if (eobp) - (newline) - (forward-line 1)))))) - (dotimes (_ (abs n1)) - (insert text)))))) - - ;;; Defaults ;;;; C-level customizations @@ -577,11 +475,6 @@ Make N (default: 1) copies of the current line or region." ;;; Essential packages -(add-to-list - 'load-path - (expand-file-name - (convert-standard-filename "lisp") user-emacs-directory)) - (when b/exwm-p (require 'bandali-exwm)) @@ -621,8 +514,8 @@ Make N (default: 1) copies of the current line or region." ;; recently opened files (use-package recentf :defer 0.2 - ;; :config - ;; (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:") + :config + (add-to-list 'recentf-keep 'file-remote-p) :config (recentf-mode) :custom @@ -668,6 +561,10 @@ Make N (default: 1) copies of the current line or region." (require 'bandali-dired) (use-package help + :bind + (:map help-mode-map + ("p" . backward-button) + ("n" . forward-button)) :config (temp-buffer-resize-mode) (setq help-window-select t)) diff --git a/lib/amx b/lib/amx -Subproject 7fb7b874291e0cdeb1f0acb18564a686ec86788 +Subproject ccfc92c600df681df5e8b5fecec328c462ceb71 diff --git a/lib/borg b/lib/borg -Subproject 3cfb35f5c54a76f200272ed11b4a39f11a57552 +Subproject bc6d869c5b26fc969eb103c4be2642c5b8524e3 diff --git a/lib/dash b/lib/dash -Subproject 721436b04da4e2795387cb48a98ac6de37ece0f +Subproject 732d92eac56023a4fb4a5dc3d9d4e274ebf44bf diff --git a/lib/diff-hl b/lib/diff-hl -Subproject a625033fb1dde83f6e4c2fc21f632b22ec34b60 +Subproject 2281a89a3ddc6616073da6f190dda08d23b18ba diff --git a/lib/ebdb b/lib/ebdb -Subproject dcd6803724ace2270cfd9723929a17ca31d64af +Subproject 0b7038694a4d844581461c261d96a7cd5679ac5 diff --git a/lib/ivy b/lib/ivy -Subproject 1b426e1215242cef61b65ee6a1d07840e22d4bc +Subproject d951004c7f3ebf98d55fc5a80a3471ec95b6db0 diff --git a/lib/libgit b/lib/libgit -Subproject 6c3b89276a149b2d009882f756a9edf866671f0 +Subproject 0ef8b13aef011a98b7da756e4f1ce3bb18e4d55 diff --git a/lib/magit b/lib/magit -Subproject ec719a49bf6e724d197277e63c70a728c2c6e28 +Subproject 485ee181564655d21c0770a4e021f7b805f4d64 diff --git a/lib/minions b/lib/minions -Subproject bc1edab09d3fc1b248c17775ae2eb7d35b96be4 +Subproject 36d39bd25ae58d1359d17f99142520339bea597 diff --git a/lib/no-littering b/lib/no-littering -Subproject ea8d8654365eeeea366a3ee0f51689987f2803a +Subproject 93d66b13a7bcd8fa3e123839365482fcc655819 diff --git a/lib/org b/lib/org -Subproject 14d6f95bec975d882d5d0a047e81c74a1cd89ed +Subproject 0c0d00b931f8790390dbf352eb7a695ae891276 diff --git a/lib/orgalist b/lib/orgalist -Subproject b436971c7d35af5ab48d91248dc3028fb733cab +Subproject 5b51845194b75052324be7effdaeb736c136764 diff --git a/lib/transient b/lib/transient -Subproject afa0c2f98453b9ffd9d8160831debc7e36cdb87 +Subproject 73694be44a802cac89bfe0798e2a4aeb79e39ea diff --git a/lib/use-package b/lib/use-package -Subproject c873d5529c9c80cb58222f22873a4f081c307cb +Subproject bfc5ecd69cdf71fae0af722d90336c66a6415f0 diff --git a/lib/which-key b/lib/which-key -Subproject 8b49ae978cceca65967f3544c236f32964ddbed +Subproject 8f2427a69bc0388ddfb14a10eaf71e589f3b091 diff --git a/lib/with-editor b/lib/with-editor -Subproject 4fe66d4d55c8eacebda53a13cc38e01d32bdaaa +Subproject 7c512887c6d69864fb600d32fb92857c51babcf diff --git a/lib/yasnippet b/lib/yasnippet -Subproject 5b1217ab085fab4abeb1118dccb260691b44670 +Subproject d3d6d70b1cd4818d271752468e0fdb0788db750 diff --git a/lisp/bandali-erc.el b/lisp/bandali-erc.el index afdc949..624572a 100644 --- a/lisp/bandali-erc.el +++ b/lisp/bandali-erc.el @@ -99,10 +99,10 @@ ((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 - ((oftc "amin/oftc" ,pwd))))))) + `(("znc.emacsconf.org" 6697 t + ((freenode "bandali/freenode" ,pwd))) + ("znc.emacsconf.org" 6697 t + ((oftc "bandali/oftc" ,pwd))))))) (provide 'bandali-erc) ;;; bandali-erc.el ends here diff --git a/lisp/bandali-gnus.el b/lisp/bandali-gnus.el index f85f694..2bfa816 100644 --- a/lisp/bandali-gnus.el +++ b/lisp/bandali-gnus.el @@ -92,7 +92,7 @@ ;; legend: (u)nsubscribed | (d)ead ;; ---------------------------------- ;; spam - ("X-Spam-Flag" "YES" "Junk") + ("X-Spam_action" "reject" "Junk") ;; otherwise, leave mail in INBOX "INBOX"))) (nnimap "uw" @@ -271,6 +271,12 @@ '(list . "list-id\\|list-post\\|x-mailing-list\\|x-beenthere\\|x-loop") t))) + ;; (require 'gnus-registry) + ;; (setq gnus-registry-max-entries 2500) + ;; (setq gnus-registry-ignored-groups + ;; (append gnus-registry-ignored-groups + ;; '(("^nnimap:gnu\\.l" t) + ;; ("webmasters$" t)))) ;; (gnus-registry-initialize) (with-eval-after-load 'recentf @@ -301,8 +307,8 @@ "^Resent-From:" "^User-Agent:" "^X-detected-operating-system:" - "^X-Spam-Flag:" - "^X-Spam-Level:" + "^X-Spam_action:" + "^X-Spam_bar:" "^Message-ID:" ;; "^References:" "^List-Id:" diff --git a/lisp/bandali-message.el b/lisp/bandali-message.el index 4f3d551..c063bae 100644 --- a/lisp/bandali-message.el +++ b/lisp/bandali-message.el @@ -57,7 +57,7 @@ message-subscribed-address-functions '(gnus-find-subscribed-addresses) message-dont-reply-to-names - "\\(\\(amin@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\)") + "\\(\\(amin@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|bandali@fsf\\.org\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\)") ;; (require 'company-ebdb) :hook (;; (message-setup . mml-secure-message-sign-pgpmime) (message-mode . flyspell-mode) diff --git a/lisp/bandali-utils.el b/lisp/bandali-utils.el new file mode 100644 index 0000000..7a2820d --- /dev/null +++ b/lisp/bandali-utils.el @@ -0,0 +1,118 @@ +;;; bandali-utils.el --- useful utilities -*- lexical-binding: t; -*- + +;; Copyright (C) 2020 Amin Bandali + +;; Author: Amin Bandali <bandali@gnu.org> +;; Keywords: lisp, tools + +;; 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 +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; A small collection of useful utilities used through my init files. + +;;; Code: + +(defmacro b/setq-every (value &rest vars) + "Set all the variables from VARS to value VALUE." + (declare (indent defun) (debug t)) + `(progn ,@(mapcar (lambda (x) (list 'setq x value)) vars))) + +(defun b/start-process (program &rest args) + "Same as `start-process', but doesn't bother about name and buffer." + (let ((process-name (concat program "_process")) + (buffer-name (generate-new-buffer-name + (concat program "_output")))) + (apply #'start-process + process-name buffer-name program args))) + +(defun b/dired-start-process (program &optional args) + "Open current file with a PROGRAM." + ;; Shell command looks like this: "program [ARGS]... FILE" (ARGS can + ;; be nil, so remove it). + (declare-function dired-get-file-for-visit "dired") + (apply #'b/start-process + program + (remove nil (list args (dired-get-file-for-visit))))) + +(defun b/add-elisp-section () + (interactive) + (insert "\n") + (forward-line -1) + (insert "\n\n;;; ")) + +;; (defvar b/fill-column 47 +;; "My custom `fill-column'.") + +(defconst b/asterism "* * *") + +(defun b/insert-asterism () + "Insert a centred asterism." + (interactive) + (insert + (concat + "\n\n" + (make-string (floor (/ (- fill-column (length b/asterism)) 2)) + ?\s) + b/asterism + "\n\n"))) + +(defun b/no-mouse-autoselect-window () + "Conveniently disable `focus-follows-mouse'. +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))) + +(defun b/move-indentation-or-beginning-of-line (arg) + "Move to the indentation or to the beginning of line." + (interactive "^p") + ;; (if (bolp) + ;; (back-to-indentation) + ;; (move-beginning-of-line arg)) + (if (= (point) + (progn (back-to-indentation) + (point))) + (move-beginning-of-line arg))) + +(defun b/join-line-top () + "Like `join-line', but join next line to the current line." + (interactive) + (join-line 1)) + +(defun b/duplicate-line-or-region (&optional n) + "Duplicate the current line, or region (if active). +Make N (default: 1) copies of the current line or region." + (interactive "*p") + (let ((u-r-p (use-region-p)) ; if region is active + (n1 (or n 1))) + (save-excursion + (let ((text + (if u-r-p + (buffer-substring (region-beginning) (region-end)) + (prog1 (thing-at-point 'line) + (end-of-line) + (if (eobp) + (newline) + (forward-line 1)))))) + (dotimes (_ (abs n1)) + (insert text)))))) + +(provide 'bandali-utils) +;;; bandali-utils.el ends here |