diff options
Diffstat (limited to 'init.el')
-rw-r--r-- | init.el | 64 |
1 files changed, 50 insertions, 14 deletions
diff --git a/init.el b/init.el index 9c44e8b..4ea6f90 100644 --- a/init.el +++ b/init.el | |||
@@ -39,6 +39,7 @@ | |||
39 | "C-x o" (lambda () (interactive) (switch-to-buffer nil)) | 39 | "C-x o" (lambda () (interactive) (switch-to-buffer nil)) |
40 | "C-x C-o" #'+open-paragraph | 40 | "C-x C-o" #'+open-paragraph |
41 | "C-w" #'+kill-word-backward-or-region | 41 | "C-w" #'+kill-word-backward-or-region |
42 | "C-x C-m" #'execute-extended-command ; original: coding systems | ||
42 | ;; "C-x C-1" #'delete-other-windows | 43 | ;; "C-x C-1" #'delete-other-windows |
43 | ;; "C-x 2" #'+split-window-below-then | 44 | ;; "C-x 2" #'+split-window-below-then |
44 | ;; "C-x C-2" #'+split-window-below-then | 45 | ;; "C-x C-2" #'+split-window-below-then |
@@ -342,6 +343,8 @@ | |||
342 | eshell-prompt-regexp (rx bol (* (not (any ?# ?$ ?\n))) | 343 | eshell-prompt-regexp (rx bol (* (not (any ?# ?$ ?\n))) |
343 | " " (any ?# ?$) | 344 | " " (any ?# ?$) |
344 | (* " "))) | 345 | (* " "))) |
346 | (:+leader "s" #'+eshell-here | ||
347 | "C-s" #'+eshell-here) | ||
345 | (with-eval-after-load 'mwim | 348 | (with-eval-after-load 'mwim |
346 | (setf (alist-get 'eshell-mode mwim-beginning-of-line-function) | 349 | (setf (alist-get 'eshell-mode mwim-beginning-of-line-function) |
347 | #'eshell-bol)) | 350 | #'eshell-bol)) |
@@ -350,19 +353,19 @@ | |||
350 | (dolist (mode '((hungry-delete-mode . -1))) | 353 | (dolist (mode '((hungry-delete-mode . -1))) |
351 | (funcall (car mode) (cdr mode))) | 354 | (funcall (car mode) (cdr mode))) |
352 | ;; Set local settings | 355 | ;; Set local settings |
353 | (dolist (setting (list (cons 'outline-regexp eshell-prompt-regexp) | 356 | (dolist (setting `((outline-regexp . ,eshell-prompt-regexp) |
354 | (cons 'page-delimiter eshell-prompt-regexp) | 357 | (page-delimiter . ,eshell-prompt-regexp) |
355 | (cons 'imenu-generic-expression | 358 | (imenu-generic-expression "Prompt" |
356 | (list "Prompt" | 359 | ,(concat eshell-prompt-regexp |
357 | (concat eshell-prompt-regexp | 360 | "\\(.*\\)") |
358 | "\\(.*\\)") | 361 | 1) |
359 | 1)) | 362 | (truncate-lines . t) |
360 | (cons 'truncate-lines t))) | 363 | (scroll-margin . 0))) |
361 | (set (make-local-variable (car setting)) (cdr setting))) | 364 | (set (make-local-variable (car setting)) (cdr setting))) |
362 | ;; Bind keys | 365 | ;; Bind keys |
363 | (dolist (binding '(("C-d" . +eshell-quit-or-delete-char))) | 366 | (dolist (binding '(("C-d" . +eshell-quit-or-delete-char))) |
364 | (define-key eshell-mode-map | 367 | (define-key eshell-mode-map |
365 | (kbd (car binding)) (cdr binding))) | 368 | (kbd (car binding)) (cdr binding))) |
366 | ;; Environment variables | 369 | ;; Environment variables |
367 | (dolist (environment '(("PAGER" . "cat"))) | 370 | (dolist (environment '(("PAGER" . "cat"))) |
368 | (setenv (car environment) (cdr environment))))) | 371 | (setenv (car environment) (cdr environment))))) |
@@ -425,6 +428,8 @@ | |||
425 | 428 | ||
426 | (setup info | 429 | (setup info |
427 | (:also-load +Info) | 430 | (:also-load +Info) |
431 | (dolist (dir (split-string (getenv "INFOPATH") ":" t)) | ||
432 | (add-to-list 'Info-additional-directory-list dir)) | ||
428 | (:with-mode Info-mode ; -_- | 433 | (:with-mode Info-mode ; -_- |
429 | (:hook #'reading-mode) | 434 | (:hook #'reading-mode) |
430 | (:bind "c" #'+Info-copy-current-node-name | 435 | (:bind "c" #'+Info-copy-current-node-name |
@@ -836,11 +841,11 @@ They are completed by \"M-x TAB\" only in Tramp debug buffers." | |||
836 | (and (executable-find "find") | 841 | (and (executable-find "find") |
837 | (executable-find "grep")))) | 842 | (executable-find "grep")))) |
838 | (:load-after consult orderless vertico) | 843 | (:load-after consult orderless vertico) |
839 | (setq affe-regexp-compiler (defun affe-orderless-regexp-compiler (input _type) | 844 | (setq affe-regexp-compiler (defun affe-orderless-regexp-compiler (input &rest _) |
840 | (setq input (orderless-pattern-compiler input)) | 845 | (setq input (orderless-pattern-compiler input)) |
841 | (cons input (lambda (str) (orderless--highlight input str))))) | 846 | (cons input (lambda (str) (orderless--highlight input str))))) |
842 | (+with-eval-after-loads (affe vertico-multiform) | 847 | (+with-eval-after-loads (affe vertico-multiform) |
843 | (setq affe-regexp-compiler (defun affe-orderless-regexp-compiler (input _type) | 848 | (setq affe-regexp-compiler (defun affe-orderless-regexp-compiler (input &rest _) |
844 | (setq input (orderless-pattern-compiler input)) | 849 | (setq input (orderless-pattern-compiler input)) |
845 | (cons input (lambda (str) (orderless--highlight input str))))) | 850 | (cons input (lambda (str) (orderless--highlight input str))))) |
846 | (setf (alist-get 'affe-grep vertico-multiform-commands) '(buffer) | 851 | (setf (alist-get 'affe-grep vertico-multiform-commands) '(buffer) |
@@ -1285,7 +1290,6 @@ They are completed by \"M-x TAB\" only in Tramp debug buffers." | |||
1285 | "M-w" #'+crux-kill-ring-save | 1290 | "M-w" #'+crux-kill-ring-save |
1286 | "C-k" #'crux-kill-and-join-forward | 1291 | "C-k" #'crux-kill-and-join-forward |
1287 | "C-c d" #'+crux-insert-date-or-time) | 1292 | "C-c d" #'+crux-insert-date-or-time) |
1288 | (:+leader "s" #'crux-visit-shell-buffer) | ||
1289 | (crux-with-region-or-buffer indent-region) | 1293 | (crux-with-region-or-buffer indent-region) |
1290 | 1294 | ||
1291 | (el-patch-feature crux) | 1295 | (el-patch-feature crux) |
@@ -1394,8 +1398,17 @@ See also `crux-reopen-as-root-mode'." | |||
1394 | (:hook #'reading-mode) | 1398 | (:hook #'reading-mode) |
1395 | (:option +elfeed--update-repeat (* 60 30) ; 1/2 hour | 1399 | (:option +elfeed--update-repeat (* 60 30) ; 1/2 hour |
1396 | +elfeed--update-first-time 60)) | 1400 | +elfeed--update-first-time 60)) |
1397 | (+elfeed-update-async-mode -1) ; It really messes with stuff for work | 1401 | (+elfeed-update-async-mode +1) |
1398 | ) | 1402 | (add-hook '+elfeed-update-proceed-hook (defun non-work-hours? () |
1403 | "Return nil if during work hours, t otherwise." | ||
1404 | (let* ((now (current-time)) | ||
1405 | (now* (decode-time now)) | ||
1406 | (work-start* (append '(0 0 8) (cdddr now*))) ; 8:00 AM | ||
1407 | (work-end* (append '(0 0 18) (cdddr now*))) ; 6:00 PM | ||
1408 | (work-start (encode-time work-start*)) | ||
1409 | (work-end (encode-time work-end*))) | ||
1410 | (or (time-less-p now work-start) | ||
1411 | (time-less-p work-end now)))))) | ||
1399 | 1412 | ||
1400 | (setup (:straight elfeed-org) | 1413 | (setup (:straight elfeed-org) |
1401 | (:also-load +org-capture) | 1414 | (:also-load +org-capture) |
@@ -1530,6 +1543,7 @@ See also `crux-reopen-as-root-mode'." | |||
1530 | geiser-chicken | 1543 | geiser-chicken |
1531 | macrostep-geiser | 1544 | macrostep-geiser |
1532 | scheme-complete) | 1545 | scheme-complete) |
1546 | (:also-load +chicken) | ||
1533 | (setf (alist-get "\\.scm\\'" auto-mode-alist nil nil #'string=) | 1547 | (setf (alist-get "\\.scm\\'" auto-mode-alist nil nil #'string=) |
1534 | 'scheme-mode)) | 1548 | 'scheme-mode)) |
1535 | 1549 | ||
@@ -1776,6 +1790,28 @@ See also `crux-reopen-as-root-mode'." | |||
1776 | :now))))) | 1790 | :now))))) |
1777 | (:face modus-themes-tab-active ((t :bold nil)) | 1791 | (:face modus-themes-tab-active ((t :bold nil)) |
1778 | modus-themes-tab-inactive ((t :italic t))) | 1792 | modus-themes-tab-inactive ((t :italic t))) |
1793 | |||
1794 | (add-hook 'modus-themes-after-load-theme-hook | ||
1795 | (defun +modus-themes-mostly-monochrome () | ||
1796 | "Set up mdous-themes to be mostly monochrome." | ||
1797 | (modus-themes-with-colors | ||
1798 | (custom-set-faces | ||
1799 | `(font-lock-builtin-face ((,class :inherit modus-themes-bold :foreground unspecified))) | ||
1800 | `(font-lock-comment-delimiter-face ((,class :inherit font-lock-comment-face))) | ||
1801 | `(font-lock-comment-face ((,class :inherit modus-themes-slant :foreground ,fg-docstring))) | ||
1802 | `(font-lock-constant-face ((,class :foreground unspecified))) | ||
1803 | `(font-lock-doc-face ((,class :inherit modus-themes-slant :foreground ,fg-docstring))) | ||
1804 | `(font-lock-function-name-face ((,class :foreground unspecified))) | ||
1805 | `(font-lock-keyword-face ((,class :inherit modus-themes-bold :foreground unspecified))) | ||
1806 | `(font-lock-negation-char-face ((,class :inherit modus-themes-bold :foreground unspecified))) | ||
1807 | `(font-lock-preprocessor-face ((,class :foreground unspecified))) | ||
1808 | `(font-lock-regexp-grouping-backslash ((,class :foreground ,fg-escape-char-backslash))) | ||
1809 | `(font-lock-regexp-grouping-construct ((,class :foreground ,fg-escape-char-construct))) | ||
1810 | `(font-lock-string-face ((,class :inherit modus-themes-slant :foreground unspecified))) | ||
1811 | `(font-lock-type-face ((,class :inherit modus-themes-bold :foreground unspecified))) | ||
1812 | `(font-lock-variable-name-face ((,class :foreground unspecified))) | ||
1813 | `(font-lock-warning-face ((,class :inherit modus-themes-bold :foreground ,red-nuanced-fg))))))) | ||
1814 | |||
1779 | (dawn-schedule #'modus-themes-load-operandi | 1815 | (dawn-schedule #'modus-themes-load-operandi |
1780 | #'modus-themes-load-vivendi)) | 1816 | #'modus-themes-load-vivendi)) |
1781 | 1817 | ||