diff options
-rw-r--r-- | emacs | 911 | ||||
-rw-r--r-- | emacs.d/custom.el | 209 | ||||
-rw-r--r-- | gnus.el | 60 |
3 files changed, 0 insertions, 1180 deletions
@@ -1,911 +0,0 @@ -(menu-bar-mode -1) -(tool-bar-mode -1) -(scroll-bar-mode -1) -(pixel-scroll-mode) - -(require 'package) -(setq frame-title-format - `((buffer-file-name "%f" "%b") - ,(format " - Emacs" ))) - -(with-eval-after-load 'package - (add-to-list 'package-archives '("nongnu" . "https://elpa.nongnu.org/nongnu/"))) -(with-eval-after-load 'package - (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))) -(package-initialize t) -(setq url-http-attempt-keepalives nil) -(when (not package-archive-contents) - (package-refresh-contents)) - -(setq kill-whole-line t) - -;; wl-copy -(setq wl-copy-process nil) -(defun wl-copy (text) - (setq wl-copy-process (make-process :name "wl-copy" - :buffer nil - :command '("wl-copy") - :connection-type 'pipe - :noquery t)) - (process-send-string wl-copy-process text) - (process-send-eof wl-copy-process)) - -(defun wl-paste () - (if (and wl-copy-process (process-live-p wl-copy-process)) - nil - (shell-command-to-string "wl-paste -n | tr -d \r"))) - -(setq interprogram-cut-function 'wl-copy - interprogram-paste-function 'wl-paste) - -;; God mode -(unless (package-installed-p 'god-mode) - (package-install 'god-mode)) - -(require 'god-mode) -(god-mode-all) -(global-set-key (kbd "<escape>") #'god-local-mode) -(define-key god-local-mode-map (kbd "i") #'god-local-mode) -(define-key god-local-mode-map (kbd ".") #'repeat) -(global-set-key (kbd "C-x C-1") #'delete-other-windows) -(define-key god-local-mode-map (kbd "[") #'next-buffer) -(define-key god-local-mode-map (kbd "]") #'previous-buffer) - -;; Expand-region -(unless (package-installed-p 'expand-region) - (package-install 'expand-region)) -(require 'expand-region) - -(global-set-key (kbd "C-,") 'er/expand-region) -;; Keybindings -(global-set-key (kbd "C-c C-k") #'eldoc) -(define-key god-local-mode-map (kbd "C-c d [") #'flymake-goto-prev-error) -(define-key god-local-mode-map (kbd "C-c d ]") #'flymake-goto-next-error) -(define-key god-local-mode-map (kbd "C-c v ]") #'diff-hl-next-hunk) -(define-key god-local-mode-map (kbd "C-c v [") #'diff-hl-prev-hunk) - - -(defun m/newline-insert-above () - "Create line above, exit god mode" - (interactive) - (beginning-of-line) - (newline-and-indent) - (previous-line) - (god-local-mode -1)) - -(define-key god-local-mode-map (kbd "C-S-O") #'m/newline-insert-above) - -(defun m/newline-insert-below () - "Create line below, exit god mode" - (interactive) - (end-of-line) - (newline-and-indent) - (god-local-mode -1)) - -(define-key god-local-mode-map (kbd "C-o") #'m/newline-insert-below) - -(add-hook 'god-local-mode-hook - (lambda () (if (bound-and-true-p god-local-mode) - (setq cursor-type 'box) - (setq cursor-type 'bar)))) - -(defun m/update-cursor-type () - (setq cursor-type (if (or god-local-mode buffer-read-only) 'box 'bar))) -(add-hook 'post-command-hook #'m/update-cursor-type) - -(defun m/quit () - "Quit current window or buffer. Taken from meow-quit" - (interactive) - (if (> (seq-length (window-list (selected-frame))) 1) - (quit-window) - (previous-buffer))) - -(define-key god-local-mode-map (kbd "C-q") #'m/quit) - -(require 'god-mode-isearch) -(define-key isearch-mode-map (kbd "<escape>") #'god-mode-isearch-activate) -(define-key god-mode-isearch-map (kbd "<escape>") #'god-mode-isearch-disable) - -(delete-selection-mode 1) - -(unless (package-installed-p 'avy) - (package-install 'avy)) - -(keymap-global-set "C-'" 'avy-goto-char) - -;; Setup custom keys for avy -(custom-set-variables '(avy-keys '(97 114 115 116 100 104 110 101 105 111))) - - -(unless (package-installed-p 'hyperbole) - (package-install 'hyperbole)) -(require 'hyperbole) -(hyperb:init) - - -;; Direnv -(unless (package-installed-p 'direnv) - (package-install 'direnv)) - -(use-package direnv - :config - (direnv-mode)) - -(setq direnv-show-paths-in-summary nil) -(setq direnv-always-show-summary nil) - -;; Prompt -(add-hook 'eshell-mode-hook - (defun my-eshell-mode-hook () - (require 'eshell-z))) - -(defun marcc/eshell-prompt () - (setq eshell-prompt-regexp "^-- ") - (format "%s\n-- " (abbreviate-file-name (eshell/pwd)))) -(setq eshell-prompt-function #'marcc/eshell-prompt) - -;; Print git branch in dired et.c. -(unless (package-installed-p 'git-ps1-mode) - (package-install 'git-ps1-mode)) - -(require 'git-ps1-mode) - - -;;Theme -(unless (package-installed-p 'almost-mono-themes) - (package-install 'almost-mono-themes)) -(use-package almost-mono-themes - :config - (load-theme 'almost-mono-white t)) - -(set-face-attribute 'default nil :font "Iosevka Term Curly" :height 100) -(set-face-attribute 'variable-pitch nil :font "Iosevka Etoile" :height 90) -(setq-default line-spacing 0.5) -(setq display-time-format "%a, %d/%m, %H:%M") -(display-time-mode) -(display-battery-mode) -(tab-bar-mode) - -(add-hook 'Info-mode-hook 'variable-pitch-mode) -(add-hook 'woman-mode-hook 'variable-pitch-mode) -(setq flymake-fringe-indicator-position 'left-fringe - diff-hl-side 'right) - -(custom-set-variables '(fringe-mode '(5 . 5) nil (fringe))) -(set-face-attribute 'fringe nil :background "#FFF") -(add-to-list 'default-frame-alist '(internal-border-width . 4)) - -;; Disable splash screen -(setq inhibit-startup-screen t) - -;; Ripgrep -(unless (package-installed-p 'rg) - (package-install 'rg)) -(require 'rg) - -;; Slime -(unless (package-installed-p 'slime) - (package-install 'slime)) - - -;; Hyperbole -(unless (package-installed-p 'hyperbole) - (package-install 'hyperbole)) - -(hyperbole-mode 1) - -;;; Git client -(unless (package-installed-p 'magit) - (package-install 'magit)) - -;; Tempel -(unless (package-installed-p 'tempel) - (package-install 'tempel)) - -(use-package tempel - ;; Require trigger prefix before template name when completing. - ;; :custom - ;; (tempel-trigger-prefix "<") - :bind (("M-+" . tempel-complete) ;; Alternative tempel-expand - ("M-*" . tempel-insert)) - - :init - - ;; Setup completion at point - (defun tempel-setup-capf () - ;; Add the Tempel Capf to `completion-at-point-functions'. - ;; `tempel-expand' only triggers on exact matches. Alternatively use - ;; `tempel-complete' if you want to see all matches, but then you - ;; should also configure `tempel-trigger-prefix', such that Tempel - ;; does not trigger too often when you don't expect it. NOTE: We add - ;; `tempel-expand' *before* the main programming mode Capf, such - ;; that it will be tried first. - (setq-local completion-at-point-functions - (cons #'tempel-expand - completion-at-point-functions))) - - (add-hook 'conf-mode-hook 'tempel-setup-capf) - (add-hook 'prog-mode-hook 'tempel-setup-capf) - (add-hook 'text-mode-hook 'tempel-setup-capf) - - ;; Optionally make the Tempel templates available to Abbrev, - ;; either locally or globally. `expand-abbrev' is bound to C-x '. - ;; (add-hook 'prog-mode-hook #'tempel-abbrev-mode) - ;; (global-tempel-abbrev-mode) - ) - -;; Eat - terminal emulator -(unless (package-installed-p 'eat) - (package-install 'eat)) - - -;; Vundo -(unless (package-installed-p 'vundo) - (package-install 'vundo)) - -;; Backups - -(setq backup-directory-alist - `((".*" . ,temporary-file-directory)) - auto-save-file-name-transforms - `((".*" ,temporary-file-directory t))) - -;; Indication of local VCS changes -(unless (package-installed-p 'diff-hl) - (package-install 'diff-hl)) - -;; Enable `diff-hl' support by default in programming buffers -(add-hook 'prog-mode-hook #'diff-hl-mode) - -;; Devdocs -(unless (package-installed-p 'devdocs) - (package-install 'devdocs)) - -(global-set-key (kbd "C-h D") 'devdocs-lookup) -(add-hook 'terraform-mode-hook - (lambda () (setq-local devdocs-current-docs '("terraform")))) - -;; LSP -(unless (package-installed-p 'tuareg) - (package-install 'tuareg)) -(unless (package-installed-p 'nix-ts-mode) - (package-install 'nix-ts-mode)) -(require 'nix-ts-mode) -(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-ts-mode)) -(use-package tree-sitter-langs - :ensure t - :defer t) - -(global-tree-sitter-mode) -(setq treesit-language-source-alist - '((bash "https://github.com/tree-sitter/tree-sitter-bash") - (cmake "https://github.com/uyha/tree-sitter-cmake") - (css "https://github.com/tree-sitter/tree-sitter-css") - (elisp "https://github.com/Wilfred/tree-sitter-elisp") - (go "https://github.com/tree-sitter/tree-sitter-go") - (html "https://github.com/tree-sitter/tree-sitter-html") - (javascript "https://github.com/tree-sitter/tree-sitter-javascript" "master" "src") - (json "https://github.com/tree-sitter/tree-sitter-json") - (make "https://github.com/alemuller/tree-sitter-make") - (ocaml "https://github.com/alemuller/tree-sitter-ocaml") - (markdown "https://github.com/ikatyang/tree-sitter-markdown") - (python "https://github.com/tree-sitter/tree-sitter-python") - (nix "https://github.com/tree-sitter/tree-sitter-nix") - (toml "https://github.com/tree-sitter/tree-sitter-toml") - (tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src") - (typescript "https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src") - (yaml "https://github.com/ikatyang/tree-sitter-yaml"))) - - -;; Project -(bind-key "C-x p s" 'eat-project) - -(use-package eglot - :ensure t) - -;; Allegedly speeds up eglot -(fset #'jsonrpc--log-event #'ignore) - -(add-hook 'tuareg-mode-hook 'eglot-ensure) - -;; When tuareg is loaded, autoformat on save -(add-hook 'tuareg-mode-hook - (lambda () - (add-hook 'before-save-hook 'eglot-format nil t))) - -(add-hook 'typescript-mode-hook 'eglot-ensure) -(setq-default indent-tabs-mode nil - tab-stop-list () - tab-width 2) - -(cl-defmethod project-root ((project (head eglot-project))) - (cdr project)) - -(defun my-project-try-tsconfig-json (dir) - (when-let* ((found (locate-dominating-file dir "tsconfig.json"))) - (cons 'eglot-project found))) - -(add-hook 'project-find-functions - 'my-project-try-tsconfig-json nil nil) - -(unless (package-installed-p 'terraform-mode) - (package-install 'terraform-mode)) - -(use-package terraform-mode - ;; if using straight - ;; :straight t - - ;; if using package.el - ;; :ensure t - :custom (terraform-indent-level 2) - :config - (defun my-terraform-mode-init () - ;; if you want to use outline-minor-mode - ;; (outline-minor-mode 1) - ) - - (add-hook 'terraform-mode-hook 'my-terraform-mode-init)) - -(add-hook 'terraform-mode-hook 'eglot-ensure) - -(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-ts-mode)) -(add-to-list 'auto-mode-alist '("\\.tsx\\'" . tsx-ts-mode)) -(add-to-list 'auto-mode-alist '("\\.tf\\'" . terraform-mode)) -(add-to-list 'auto-mode-alist '("\\.json\\'" . json-mode)) -(add-to-list 'auto-mode-alist '("\\.ml\\'" . tuareg-mode)) -(add-to-list 'auto-mode-alist '("\\.mli\\'" . tuareg-mode)) -(add-to-list 'auto-mode-alist '("emacs" . emacs-lisp-mode)) - -'(eglot-extend-to-xref t) -'(eglot-autoreconnect t) -(add-hook 'eglot-managed-mode-hook - (lambda () - "Make sure Eldoc will show us all of the feedback at point." - (setq-local eldoc-documentation-strategy - #'eldoc-documentation-compose))) - -;; Commands - -(defun ocaml-print-rapper-type () - (interactive) - (insert (shell-command-to-string "ocaml-rapper-helper"))) - -;; HTML + Liquid -(add-to-list 'auto-mode-alist '("\\.liquid\\'" . html-mode)) -(with-eval-after-load 'eglot - (add-to-list 'eglot-server-programs - '(html-mode . ("vscode-html-language-server" "--stdio")) - '(css-mode . ("vscode-css-language-server" "--stdio")))) - - -(unless (package-installed-p 'prettier-js) - (package-install 'prettier-js)) -(unless (package-installed-p 'add-node-modules-path) - (package-install 'add-node-modules-path)) -(unless (package-installed-p 'smartparens) - (package-install 'smartparens)) - -(add-hook 'typescript-ts-mode-hook 'prettier-js-mode) -(add-hook 'tsx-ts-mode 'prettier-js-mode) -(add-hook 'typescript-ts-mode-hook #'smartparens-mode) -(add-hook 'json-ts-mode-hook #'smartparens-mode) -(add-hook 'tuareg-mode-hook #'smartparens-mode) -(add-hook 'terraform-mode-hook #'smartparens-mode) - -(setq eglot-prefer-plaintext 1 - eldoc-echo-area-use-multiline-p t - eldoc-echo-area-prefer-doc-buffer t - eglot-events-buffer-size 0 - eglot-autoshutdown t) - - -(add-hook 'eglot-managed-mode-hook (lambda () (eglot-inlay-hints-mode 0))) -(add-hook 'eglot-managed-mode-hook (lambda () (global-eldoc-mode -1))) -(add-hook 'eglot-managed-mode-hook (lambda () (keymap-local-set "C-c C-x C-a" 'eglot-code-actions))) -(add-hook 'eglot-managed-mode-hook (lambda () (keymap-local-set "C-c C-x C-r" 'eglot-rename))) - -(global-eldoc-mode -1) - -;; Disable copilot warning logs -(setq warning-minimum-level :error) - -;; Markdown mode to correctly show markdown -(unless (package-installed-p 'markdown-mode) - (package-install 'markdown-mode)) -(use-package markdown-mode) - -(setq markdown-enable-highlighting-syntax t) -(setq markdown-hide-urls t) -(setq markdown-hide-markup t) - - -(unless (package-installed-p 'consult) - (package-install 'consult)) -(global-set-key [rebind switch-to-buffer] #'consult-buffer) -(global-set-key (kbd "C-x C-r") #'consult-ripgrep) -(global-set-key (kbd "C-x C-f") #'consult-fd) - -(setq consult-async-refresh-delay 0.0) -(setq consult-async-input-throttle 0.0) -(setq consult-async-input-debounce 0.02) - -;; Vertico + Marginalia + Orderless auto complete -(unless (package-installed-p 'vertico) - (package-install 'vertico)) -(use-package vertico - :init - (vertico-mode) - (use-package savehist - :init - (savehist-mode)) - ) -(vertico-reverse-mode) -(setq vertico-resize nil) -;; Completion -(setq completion-in-region-function - (lambda (&rest args) - (apply (if vertico-mode - #'consult-completion-in-region - #'completion--in-region) - args))) -(unless (package-installed-p 'orderless) - (package-install 'orderless)) - -(unless (package-installed-p 'marginalia) - (package-install 'marginalia)) - -(use-package marginalia - :init - (marginalia-mode)) - -(use-package orderless - :ensure t - :custom - (completion-styles '(orderless basic)) - (completion-category-overrides '((file (styles basic partial-completion))))) - -;; Miscellaneous options -(setq-default major-mode - (lambda () ; guess major mode from file name - (unless buffer-file-name - (let ((buffer-file-name (buffer-name))) - (set-auto-mode))))) -(setq confirm-kill-emacs #'yes-or-no-p) -(setq window-resize-pixelwise t - frame-resize-pixelwise t) -(save-place-mode t) -(savehist-mode t) -(recentf-mode t) -(defalias 'yes-or-no #'y-or-n-p) - -;; Store automatic customisation options elsewhere -(setq custom-file (locate-user-emacs-file "custom.el")) -(when (file-exists-p custom-file) - (load custom-file)) - -;; Pairs -(bind-key "M-{" 'insert-pair) -(bind-key "M-}" 'insert-pair) -(bind-key "M-]" 'insert-pair) -(bind-key "M-[" 'insert-pair) -(bind-key "M-]" 'insert-pair) -(bind-key "M-`" 'insert-pair) -(bind-key "M-\"" 'insert-pair) -(bind-key "M-'" 'insert-pair) -(bind-key "M-<" 'insert-pair) - -;; Guix integration -(unless (package-installed-p 'geiser-mit) - (package-install 'geiser-mit)) -(unless (package-installed-p 'geiser-guile) - (package-install 'geiser-guile)) -(unless (package-installed-p 'ac-geiser) - (package-install 'ac-geiser)) -(unless (package-installed-p 'macrostep-geiser) - (package-install 'macrostep-geiser)) -(unless (package-installed-p 'guix) - (package-install 'guix)) - -;; Utils -(defun marc/close-all-buffers-except-current () - (interactive) - (mapc 'kill-buffer (delete (current-buffer) (buffer-list)))) - -;; which-key -(unless (package-installed-p 'which-key) - (package-install 'which-key)) -(require 'which-key) -(which-key-mode) -(which-key-enable-god-mode-support) - -;; Fossil -(unless (package-installed-p 'vc-fossil) - (package-install 'vc-fossil)) - -;; Dired -(add-hook 'dired-after-readin-hook 'dired-hide-details-mode 'append) -(eval-after-load "dired" '(define-key dired-mode-map (kbd "b") 'dired-up-directory)) -(eval-after-load "dired" '(define-key dired-mode-map (kbd "N") 'dired-create-empty-file)) -(eval-after-load "dired" '(define-key dired-mode-map (kbd "+") 'dired-create-directory)) -(put 'dired-find-alternate-file 'disabled nil) - - -;; Copilot -(unless (package-installed-p 'quelpa) - (package-install 'quelpa)) -(unless (package-installed-p 'quelpa-use-package) - (package-install 'quelpa-use-package)) - -(require 'quelpa) -(require 'quelpa-use-package) - -(use-package copilot - :quelpa (copilot :fetcher github - :repo "zerolfx/copilot.el" - :branch "main" - :files ("dist" "*.el"))) - - -(define-key copilot-completion-map (kbd "<tab>") 'copilot-accept-completion) -(define-key copilot-completion-map (kbd "TAB") 'copilot-accept-completion) - -;; Org -(require 'org) -(transient-mark-mode 1) -(add-hook 'org-mode-hook 'variable-pitch-mode) -;; Use with aspell -(setq ispell-list-command "--list") -(add-hook 'org-mode-hook 'flyspell-mode) -(add-hook 'org-mode-hook 'visual-line-mode) -(setq org-agenda-use-tag-inheritance nil) -(setq org-agenda-use-tag-inheritance '(search timeline agenda)) - -(setq org-directory "~/marcvault") - -(defun marcc/get-journal-file-today () - "Get journal path" - (let ((fpath (concat org-directory "/Journal/" (format-time-string "%Y-%m-%d.org")))) - (expand-file-name fpath))) - -(defun journal-file-today () - "Create and load a journal file based on today's date." - (interactive) - (find-file (marcc/get-journal-file-today))) - -(defun marcc/search-notes () - "Get journal path" - (let ((fpath (concat org-directory "/Journal/" (format-time-string "%Y-%m-%d.org")))) - (expand-file-name fpath))) - -(setq org-capture-templates - `(("t" "Todo" entry (file "~/marcvault/todo.org" ) - "* TODO %?\n %i\n %a") - ("u" "Usage" entry (file "~/marcvault/usage-tips.org") - "* %?\n" - :empty-lines 1) - ("j" "Journal" - entry (file ,(concat org-directory "/Journal/" (format-time-string "%Y-%m-%d.org"))) - "* %?\n[%(format-time-string \"%Y-%m-%d %H:%M\")]\n%i\n%a" - :empty-lines 1))) - -(add-hook 'marc-minor-mode-hook 'smartparens-mode) -(add-hook 'flyspell-mode-hook (lambda () (define-key flyspell-mode-map (kbd "C-,") nil))) -(setq org-adapt-indentation t - org-hide-leading-stars t - org-startup-indented t - org-startup-truncated nil - org-hide-emphasis-markers t - org-agenda-files (directory-files-recursively "~/marcvault/" "\\.org$") - org-log-done 'time - org-todo-keywords '((sequence "TODO" "IDEA" "|" "DONE")) - org-todo-keyword-faces '(("TODO" . org-todo) - ("IDEA" . "blue") - ("DONE" . "green")) - org-odd-levels-only t) - - - -;; Keybindings -(defvar marc-minor-mode-map (make-keymap) "marc-minor-mode keymap.") -(define-key marc-minor-mode-map (kbd "C-c C-k") 'eldoc) -(define-key marc-minor-mode-map (kbd "C-c , .") 'journal-file-today) -(define-key marc-minor-mode-map (kbd "C-c , c") 'org-capture) -(define-key marc-minor-mode-map (kbd "C-c , a") 'org-agenda) -(define-key marc-minor-mode-map (kbd "C-c , s") 'consult-org-agenda) -(define-key marc-minor-mode-map (kbd "C-c , /") 'consult-org-heading) -(define-key marc-minor-mode-map (kbd "C-,") 'er/expand-region) -(define-key marc-minor-mode-map (kbd "C-'") 'avy-goto-char) -(define-minor-mode marc-minor-mode - "A minor mode so that my key settings aren't shadowed by other major/minor modes" - t " marc" marc-minor-mode-map) - -;; Isearch -;; Case insensitive -(setq case-fold-search t) - -;; Ligatures -(unless (package-installed-p 'ligature) - (package-install 'ligature)) - -(use-package ligature - :config - ;; Enable the "www" ligature in every possible major mode - (ligature-set-ligatures 't '("www")) - ;; Enable traditional ligature support in eww-mode, if the - ;; `variable-pitch' face supports it - (ligature-set-ligatures 'eww-mode '("ff" "fi" "ffi")) - ;; Enable all Pragmata Pro in programming modes - (ligature-set-ligatures 'prog-mode '( "<|||" "<==>" "<!--" "~~>" "||=" "||>" - "===" "==>" "=!=" "=>>" "=<<" "=/=" "!==" - ">=>" ">>=" ">>>" ">>-" ">->" "->>" "-->" "---" "-<<" - "<~~" "<~>" "<*>" "<||" "<|>" "<$>" "<==" "<=>" "<=<" "<->" - "<--" "<-<" "<<=" "<<-" "<<<" "<+>" "</>" "#_(" - "+++" "/==" "_|_" "&&" "^=" "~=" - "~>" "*>" "*/" "||" "|}" "|]" "|=" "|>" "|-" "[[" "]]" - "[|" "]#" "::" ":=" ":>" ":<" "$>" "==" "=>" "!=" "|==>" "|>-" - ">=" ">>" ">-" "-~" "-|" "->" "--" "-<" "<~" "<*" "<|" "~>>" "\\=>" - "<$" "<=" - "##" "#(" "#?" "#_" ".." "+>" "++" - "?=" "/=" - "|<<" "\\==" "^>>" "^>>" "|+|" "|->" "|-->" "\\-:" "[FIXME]" - "[TODO]" "[WARN]" "!=" "&&&")) - ;; Enables ligature checks globally in all buffers. You can also do it - ;; per mode with `ligature-mode'. - (global-ligature-mode t)) - -;; RSS - Elfeed -(unless (package-installed-p 'elfeed) - (package-install 'elfeed)) -(unless (package-installed-p 'elfeed-protocol) - (package-install 'elfeed-protocol)) -(unless (package-installed-p 'password-store) - (package-install 'password-store)) - -(elfeed-protocol-enable) -;;(setq elfeed-use-curl t) -(setq elfeed-set-timeout 36000 - elfeed-curl-extra-arguments '("--insecure") ;necessary for https without a trust certificate - elfeed-protocol-fever-fetch-category-as-tag t - elfeed-protocol-feeds '(("fever+https://freshrss@rss.mccd.space" - :api-url "https://rss.mccd.space/api/fever.php" - :password (password-store-get "mccd/freshrss") - ))) - -(defun marc/elfeed-refresh () - (interactive) - (mark-whole-buffer) - (cl-loop for entry in (elfeed-search-selected) - do (elfeed-untag-1 entry 'unread)) - (elfeed-search-update--force) - (elfeed-protocol-fever-reinit "fever+https://freshrss@rss.mccd.spaceD")) - -(let* ((proto-id "fever+https://freshrss@rss.mccd.space") - (last-id (elfeed-protocol-fever-get-update-mark proto-id 'update))) - (elfeed-protocol-fever-set-update-mark proto-id 'update (- last-id 1000))) - -;; Elfeed -(setq elfeed-sort-order 'ascending - elfeed-protocol-enabled-protocols '(fever) - elfeed-protocol-fever-update-unread-only t) - -;; Web browser -(unless (package-installed-p 'w3m) - (package-install 'w3m)) - -(setq w3m-search-default-engine "duckduckgo") - -;; Gemini and Gopher -(unless (package-installed-p 'elpher) - (package-install 'elpher)) - - -(setq message-kill-buffer-on-exit t) -(setq message-sendmail-envelope-from 'header) - -;; pinentry -(setq epa-pinentry-mode 'loopback) -(defun pinentry-emacs (desc prompt ok error) - (let ((str (read-passwd (concat (replace-regexp-in-string "%22" "\"" (replace-regexp-in-string "%0A" "\n" desc)) prompt ": ")))) - str)) - - -;; ERC -(require 'erc-join) -(erc-autojoin-mode 1) -(setq erc-autojoin-channels-alist - '(("irc.libera.chat" "#emacs" "#guix" "#nyxt"))) -(setq erc-nick "mccd") - - -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(avy-keys '(97 114 115 116 100 104 110 101 105 111)) - '(blink-cursor-mode nil) - '(compile-command " ") - '(confirm-nonexistent-file-or-buffer nil) - '(consult-fd-args - '((if - (executable-find "fdfind" 'remote) - "fdfind" "fd") - "--full-path --color=never --hidden")) - '(diff-hl-side 'right) - '(display-line-numbers-major-tick 0) - '(display-line-numbers-minor-tick 0) - '(display-line-numbers-width nil) - '(eglot-extend-to-xref t) - '(eldoc-echo-area-use-multiline-p t) - '(erc-autojoin-mode t) - '(erc-button-mode t) - '(erc-fill-mode t) - '(erc-hide-timestamps nil) - '(erc-irccontrols-mode t) - '(erc-list-mode t) - '(erc-match-mode t) - '(erc-menu-mode t) - '(erc-move-to-prompt-mode t) - '(erc-netsplit-mode t) - '(erc-networks-mode t) - '(erc-nick "mccd") - '(erc-noncommands-mode t) - '(erc-pcomplete-mode t) - '(erc-readonly-mode t) - '(erc-ring-mode t) - '(erc-stamp-mode t) - '(erc-timestamp-format-left "%a %H:%M\12") - '(erc-timestamp-format-right " ") - '(erc-track-minor-mode t) - '(erc-track-mode t) - '(flymake-fringe-indicator-position 'left-fringe) - '(flymake-mode-line-format '(" " flymake-mode-line-counters)) - '(fringe-mode '(5 . 5) nil (fringe)) - '(god-mode-lighter-string "God") - '(grep-command "ugrep") - '(markdown-code-block-braces t) - '(markdown-enable-highlighting-syntax t) - '(markdown-enable-wiki-links t) - '(markdown-fontify-code-block-default-mode nil) - '(markdown-fontify-code-blocks-natively t) - '(markdown-hide-urls t) - '(markdown-link-space-sub-char "-") - '(markdown-max-image-size '(300 . 300)) - '(markdown-wiki-link-search-type '(sub-directories parent-directories project)) - '(meow-esc-mode t) - '(meow-global-mode t) - '(mode-line-compact 'long) - '(mode-line-percent-position nil) - '(mode-line-position-line-format '(" ")) - '(mu4e-modeline-mode nil) - '(org-babel-load-languages '((emacs-lisp . t) (lisp . t) (shell . t))) - '(org-fold-core-style 'overlays) - '(package-selected-packages - '(slime eat avy monotropic-theme tempel vundo add-node-modules-path prettier password-store vc-fossil eldoc-box mu4e direnv elpher w3m elfeed-protocol elfeed ligature copilot f editorconfig s quelpa-use-package quelpa org-mime org-journal which-key consult orderless vertico markdown-mode smartparens tree-sitter-langs diff-hl magit corfu rg almost-mono-themes git-ps1-mode meow)) - '(project-switch-commands - '((project-find-file "Find file" nil) - (project-find-regexp "Find regexp" nil) - (project-find-dir "Find directory" nil) - (project-vc-dir "VC-Dir" nil) - (consult-project-buffer "Find buffer" "b") - (eat-project "Eat terminal" 101))) - '(resize-mini-frames nil) - '(resize-mini-windows t) - '(rg-align-line-number-field-length 2) - '(safe-local-variable-values - '((eval progn - (require 'lisp-mode) - (defun emacs27-lisp-fill-paragraph - (&optional justify) - (interactive "P") - (or - (fill-comment-paragraph justify) - (let - ((paragraph-start - (concat paragraph-start "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)")) - (paragraph-separate - (concat paragraph-separate "\\|\\s-*\".*[,\\.]$")) - (fill-column - (if - (and - (integerp emacs-lisp-docstring-fill-column) - (derived-mode-p 'emacs-lisp-mode)) - emacs-lisp-docstring-fill-column fill-column))) - (fill-paragraph justify)) - t)) - (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph)) - (eval modify-syntax-entry 43 "'") - (eval modify-syntax-entry 36 "'") - (eval modify-syntax-entry 126 "'") - (geiser-repl-per-project-p . t) - (eval with-eval-after-load 'yasnippet - (let - ((guix-yasnippets - (expand-file-name "etc/snippets/yas" - (locate-dominating-file default-directory ".dir-locals.el")))) - (unless - (member guix-yasnippets yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs guix-yasnippets) - (yas-reload-all)))) - (eval setq-local guix-directory - (locate-dominating-file default-directory ".dir-locals.el")) - (eval add-to-list 'completion-ignored-extensions ".go"))) - '(tab-bar-format '(tab-bar-format-align-right tab-bar-format-global)) - '(tab-bar-show t) - '(vc-handled-backends '(Git Fossil)) - '(vertico-flat-annotate t) - '(vertico-flat-format - '(:multiple - #("{%s}" 0 1 - (face minibuffer-prompt) - 3 4 - (face minibuffer-prompt)) - :single - #("[%s]" 0 1 - (face minibuffer-prompt) - 1 3 - (face success) - 3 4 - (face minibuffer-prompt)) - :prompt - #("(%s)" 0 1 - (face minibuffer-prompt) - 3 4 - (face minibuffer-prompt)) - :separator - #(" | " 0 3 - (face minibuffer-prompt)) - :ellipsis - #("…" 0 1 - (face minibuffer-prompt)) - :no-match "[No match]")) - '(vertico-flat-mode nil) - '(vertico-resize nil) - '(window-resize-pixelwise t)) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(diff-hl-insert ((t (:background "green" :foreground "green")))) - '(dired-directory ((t (:inherit font-lock-function-name-face :weight bold)))) - '(elfeed-search-feed-face ((t (:foreground "dim gray")))) - '(elfeed-search-tag-face ((t (:slant italic)))) - '(elpher-gemini-heading1 ((t (:inherit bold :height 1.2 :family "Iosevka Etoile")))) - '(elpher-gemini-preformatted ((t (:inherit variable-pitch)))) - '(erc-action-face ((t (:inherit erc-default-face :weight bold)))) - '(erc-default-face ((t (:family "Iosevka Etoile")))) - '(erc-input-face ((t (:foreground "green")))) - '(erc-my-nick-face ((t (:foreground "green" :weight bold)))) - '(erc-nick-default-face ((t (:inherit erc-default-face :weight bold)))) - '(erc-nick-msg-face ((t (:foreground "medium blue" :weight bold)))) - '(erc-notice-face ((t (:inherit erc-default-face :foreground "SlateBlue" :weight bold)))) - '(erc-prompt-face ((t (:foreground "Black" :weight bold)))) - '(erc-timestamp-face ((t (:inherit erc-default-face :foreground "gray" :weight bold)))) - '(eww-form-file ((t (:background "#808080" :foreground "white" :box (:line-width (2 . 2) :style released-button))))) - '(eww-form-submit ((t (:background "#808080" :foreground "white" :box (:line-width (2 . 2) :style released-button))))) - '(eww-valid-certificate ((t (:foreground "black" :weight bold)))) - '(font-lock-function-name-face ((t (:weight normal)))) - '(font-lock-preprocessor-face ((t (:slant normal)))) - '(font-lock-string-face ((t (:foreground "#5A5DA5")))) - '(font-lock-type-face ((t (:slant normal :weight normal)))) - '(gnus-header-content ((t (:inherit gnus-header :slant italic)))) - '(gnus-header-from ((t (:inherit gnus-header)))) - '(gnus-header-name ((t (:inherit gnus-header)))) - '(gnus-header-subject ((t (:inherit gnus-header)))) - '(god-mode-lighter ((t (:inherit error)))) - '(highlight ((t (:background "azure2")))) - '(line-number ((t (:foreground "#999999")))) - '(markdown-code-face ((t nil))) - '(markdown-fontify-code-block-natively t) - '(markdown-pre-face ((t (:inherit markdown-code-face)))) - '(meow-position-highlight-number ((t (:inherit default :background "grey80" :foreground "white")))) - '(show-paren-match ((t (:background "gainsboro" :foreground "green" :slant oblique :weight bold)))) - '(tab-bar ((t (:family "Iosevka Aile" :background "#FFF" :foreground "black" :box (:line-width (4 . 4) :color "#FFF") :height 0.90)))) - '(tab-bar-tab ((t (:inherit tab-bar :box nil)))) - '(tuareg-font-lock-operator-face ((t nil))) - '(variable-pitch ((t (:family "Iosevka Etoile")))) - '(variable-pitch-text ((t (:inherit variable-pitch :height 1.0))))) - - - diff --git a/emacs.d/custom.el b/emacs.d/custom.el deleted file mode 100644 index 5524964..0000000 --- a/emacs.d/custom.el +++ /dev/null @@ -1,209 +0,0 @@ -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(avy-keys '(97 114 115 116 100 104 110 101 105 111)) - '(blink-cursor-mode nil) - '(compile-command " ") - '(confirm-nonexistent-file-or-buffer nil) - '(consult-fd-args - '((if - (executable-find "fdfind" 'remote) - "fdfind" "fd") - "--full-path --color=never --hidden")) - '(diff-hl-side 'right) - '(display-line-numbers-major-tick 0) - '(display-line-numbers-minor-tick 0) - '(display-line-numbers-width nil) - '(eglot-extend-to-xref t) - '(eldoc-echo-area-use-multiline-p t) - '(erc-autojoin-mode t) - '(erc-button-mode t) - '(erc-fill-mode t) - '(erc-hide-timestamps nil) - '(erc-irccontrols-mode t) - '(erc-list-mode t) - '(erc-match-mode t) - '(erc-menu-mode t) - '(erc-move-to-prompt-mode t) - '(erc-netsplit-mode t) - '(erc-networks-mode t) - '(erc-nick "mccd") - '(erc-noncommands-mode t) - '(erc-pcomplete-mode t) - '(erc-readonly-mode t) - '(erc-ring-mode t) - '(erc-stamp-mode t) - '(erc-timestamp-format-left "%a %H:%M\12") - '(erc-timestamp-format-right " ") - '(erc-track-minor-mode t) - '(erc-track-mode t) - '(flymake-fringe-indicator-position 'left-fringe) - '(flymake-mode-line-format '(" " flymake-mode-line-counters)) - '(fringe-mode '(5 . 5) nil (fringe)) - '(god-mode-lighter-string "God") - '(grep-command "ugrep") - '(markdown-code-block-braces t) - '(markdown-enable-highlighting-syntax t) - '(markdown-enable-wiki-links t) - '(markdown-fontify-code-block-default-mode nil) - '(markdown-fontify-code-blocks-natively t) - '(markdown-hide-urls t) - '(markdown-link-space-sub-char "-") - '(markdown-max-image-size '(300 . 300)) - '(markdown-wiki-link-search-type '(sub-directories parent-directories project)) - '(meow-esc-mode t) - '(meow-global-mode t) - '(mode-line-compact 'long) - '(mode-line-format - '("%e" mode-line-front-space - (:propertize - ("" mode-line-modified) - (min-width - (5.0))) - (vc-mode vc-mode) - mode-line-frame-identification mode-line-buffer-identification)) - '(mode-line-percent-position nil) - '(mode-line-position-line-format '(" ")) - '(mu4e-modeline-mode nil) - '(org-agenda-files - '("/home/mccd/marcvault/Journal/2022-10-30.org" "/home/mccd/marcvault/Journal/2022-10-31.org" "/home/mccd/marcvault/Journal/2022-11-01.org" "/home/mccd/marcvault/Journal/2022-11-02.org" "/home/mccd/marcvault/Journal/2022-11-03.org" "/home/mccd/marcvault/Journal/2022-11-04.org" "/home/mccd/marcvault/Journal/2022-11-05.org" "/home/mccd/marcvault/Journal/2022-11-06.org" "/home/mccd/marcvault/Journal/2022-11-07.org" "/home/mccd/marcvault/Journal/2022-11-08.org" "/home/mccd/marcvault/Journal/2022-11-09.org" "/home/mccd/marcvault/Journal/2022-11-10.org" "/home/mccd/marcvault/Journal/2022-11-11.org" "/home/mccd/marcvault/Journal/2022-11-12.org" "/home/mccd/marcvault/Journal/2022-11-13.org" "/home/mccd/marcvault/Journal/2022-11-14.org" "/home/mccd/marcvault/Journal/2022-11-15.org" "/home/mccd/marcvault/Journal/2022-11-16.org" "/home/mccd/marcvault/Journal/2022-11-17.org" "/home/mccd/marcvault/Journal/2022-11-18.org" "/home/mccd/marcvault/Journal/2022-11-19.org" "/home/mccd/marcvault/Journal/2022-11-20.org" "/home/mccd/marcvault/Journal/2022-11-21.org" "/home/mccd/marcvault/Journal/2022-11-22.org" "/home/mccd/marcvault/Journal/2022-11-23.org" "/home/mccd/marcvault/Journal/2022-11-24.org" "/home/mccd/marcvault/Journal/2022-11-25.org" "/home/mccd/marcvault/Journal/2022-11-26.org" "/home/mccd/marcvault/Journal/2022-11-27.org" "/home/mccd/marcvault/Journal/2022-11-28.org" "/home/mccd/marcvault/Journal/2022-11-29.org" "/home/mccd/marcvault/Journal/2022-11-30.org" "/home/mccd/marcvault/Journal/2022-12-01.org" "/home/mccd/marcvault/Journal/2022-12-02.org" "/home/mccd/marcvault/Journal/2022-12-03.org" "/home/mccd/marcvault/Journal/2022-12-04.org" "/home/mccd/marcvault/Journal/2022-12-05.org" "/home/mccd/marcvault/Journal/2022-12-06.org" "/home/mccd/marcvault/Journal/2022-12-07.org" "/home/mccd/marcvault/Journal/2022-12-08.org" "/home/mccd/marcvault/Journal/2022-12-09.org" "/home/mccd/marcvault/Journal/2022-12-10.org" "/home/mccd/marcvault/Journal/2022-12-11.org" "/home/mccd/marcvault/Journal/2022-12-12.org" "/home/mccd/marcvault/Journal/2022-12-13.org" "/home/mccd/marcvault/Journal/2022-12-14.org" "/home/mccd/marcvault/Journal/2022-12-15.org" "/home/mccd/marcvault/Journal/2022-12-16.org" "/home/mccd/marcvault/Journal/2022-12-17.org" "/home/mccd/marcvault/Journal/2022-12-18.org" "/home/mccd/marcvault/Journal/2022-12-19.org" "/home/mccd/marcvault/Journal/2022-12-20.org" "/home/mccd/marcvault/Journal/2022-12-21.org" "/home/mccd/marcvault/Journal/2022-12-22.org" "/home/mccd/marcvault/Journal/2022-12-23.org" "/home/mccd/marcvault/Journal/2022-12-24.org" "/home/mccd/marcvault/Journal/2022-12-26.org" "/home/mccd/marcvault/Journal/2022-12-27.org" "/home/mccd/marcvault/Journal/2022-12-28.org" "/home/mccd/marcvault/Journal/2022-12-29.org" "/home/mccd/marcvault/Journal/2022-12-30.org" "/home/mccd/marcvault/Journal/2022-12-31.org" "/home/mccd/marcvault/Journal/2023-01-01.org" "/home/mccd/marcvault/Journal/2023-01-02.org" "/home/mccd/marcvault/Journal/2023-01-03.org" "/home/mccd/marcvault/Journal/2023-01-04.org" "/home/mccd/marcvault/Journal/2023-01-05.org" "/home/mccd/marcvault/Journal/2023-01-06.org" "/home/mccd/marcvault/Journal/2023-01-07.org" "/home/mccd/marcvault/Journal/2023-01-08.org" "/home/mccd/marcvault/Journal/2023-01-09.org" "/home/mccd/marcvault/Journal/2023-01-10.org" "/home/mccd/marcvault/Journal/2023-01-11.org" "/home/mccd/marcvault/Journal/2023-01-12.org" "/home/mccd/marcvault/Journal/2023-01-13.org" "/home/mccd/marcvault/Journal/2023-01-14.org" "/home/mccd/marcvault/Journal/2023-01-15.org" "/home/mccd/marcvault/Journal/2023-01-16.org" "/home/mccd/marcvault/Journal/2023-01-17.org" "/home/mccd/marcvault/Journal/2023-01-18.org" "/home/mccd/marcvault/Journal/2023-01-19.org" "/home/mccd/marcvault/Journal/2023-01-20.org" "/home/mccd/marcvault/Journal/2023-01-22.org" "/home/mccd/marcvault/Journal/2023-01-23.org" "/home/mccd/marcvault/Journal/2023-01-24.org" "/home/mccd/marcvault/Journal/2023-01-25.org" "/home/mccd/marcvault/Journal/2023-01-26.org" "/home/mccd/marcvault/Journal/2023-01-27.org" "/home/mccd/marcvault/Journal/2023-01-28.org" "/home/mccd/marcvault/Journal/2023-01-29.org" "/home/mccd/marcvault/Journal/2023-01-30.org" "/home/mccd/marcvault/Journal/2023-01-31.org" "/home/mccd/marcvault/Journal/2023-02-01.org" "/home/mccd/marcvault/Journal/2023-02-02.org" "/home/mccd/marcvault/Journal/2023-02-03.org" "/home/mccd/marcvault/Journal/2023-02-04.org" "/home/mccd/marcvault/Journal/2023-02-05.org" "/home/mccd/marcvault/Journal/2023-02-06.org" "/home/mccd/marcvault/Journal/2023-02-07.org" "/home/mccd/marcvault/Journal/2023-02-08.org" "/home/mccd/marcvault/Journal/2023-02-09.org" "/home/mccd/marcvault/Journal/2023-02-10.org" "/home/mccd/marcvault/Journal/2023-02-11.org" "/home/mccd/marcvault/Journal/2023-02-12.org" "/home/mccd/marcvault/Journal/2023-02-13.org" "/home/mccd/marcvault/Journal/2023-02-14.org" "/home/mccd/marcvault/Journal/2023-02-15.org" "/home/mccd/marcvault/Journal/2023-02-16.org" "/home/mccd/marcvault/Journal/2023-02-17.org" "/home/mccd/marcvault/Journal/2023-02-18.org" "/home/mccd/marcvault/Journal/2023-02-19.org" "/home/mccd/marcvault/Journal/2023-02-20.org" "/home/mccd/marcvault/Journal/2023-02-21.org" "/home/mccd/marcvault/Journal/2023-02-22.org" "/home/mccd/marcvault/Journal/2023-02-23.org" "/home/mccd/marcvault/Journal/2023-02-24.org" "/home/mccd/marcvault/Journal/2023-02-25.org" "/home/mccd/marcvault/Journal/2023-02-26.org" "/home/mccd/marcvault/Journal/2023-02-27.org" "/home/mccd/marcvault/Journal/2023-02-28.org" "/home/mccd/marcvault/Journal/2023-03-01.org" "/home/mccd/marcvault/Journal/2023-03-02.org" "/home/mccd/marcvault/Journal/2023-03-03.org" "/home/mccd/marcvault/Journal/2023-03-04.org" "/home/mccd/marcvault/Journal/2023-03-05.org" "/home/mccd/marcvault/Journal/2023-03-06.org" "/home/mccd/marcvault/Journal/2023-03-07.org" "/home/mccd/marcvault/Journal/2023-03-08.org" "/home/mccd/marcvault/Journal/2023-03-09.org" "/home/mccd/marcvault/Journal/2023-03-10.org" "/home/mccd/marcvault/Journal/2023-03-11.org" "/home/mccd/marcvault/Journal/2023-03-12.org" "/home/mccd/marcvault/Journal/2023-03-13.org" "/home/mccd/marcvault/Journal/2023-03-14.org" "/home/mccd/marcvault/Journal/2023-03-15.org" "/home/mccd/marcvault/Journal/2023-03-16.org" "/home/mccd/marcvault/Journal/2023-03-17.org" "/home/mccd/marcvault/Journal/2023-03-18.org" "/home/mccd/marcvault/Journal/2023-03-19.org" "/home/mccd/marcvault/Journal/2023-03-20.org" "/home/mccd/marcvault/Journal/2023-03-21.org" "/home/mccd/marcvault/Journal/2023-03-22.org" "/home/mccd/marcvault/Journal/2023-03-23.org" "/home/mccd/marcvault/Journal/2023-03-24.org" "/home/mccd/marcvault/Journal/2023-03-25.org" "/home/mccd/marcvault/Journal/2023-03-26.org" "/home/mccd/marcvault/Journal/2023-03-27.org" "/home/mccd/marcvault/Journal/2023-03-28.org" "/home/mccd/marcvault/Journal/2023-03-29.org" "/home/mccd/marcvault/Journal/2023-03-30.org" "/home/mccd/marcvault/Journal/2023-03-31.org" "/home/mccd/marcvault/Journal/2023-04-01.org" "/home/mccd/marcvault/Journal/2023-04-02.org" "/home/mccd/marcvault/Journal/2023-04-03.org" "/home/mccd/marcvault/Journal/2023-04-04.org" "/home/mccd/marcvault/Journal/2023-04-05.org" "/home/mccd/marcvault/Journal/2023-04-06.org" "/home/mccd/marcvault/Journal/2023-04-07.org" "/home/mccd/marcvault/Journal/2023-04-08.org" "/home/mccd/marcvault/Journal/2023-04-09.org" "/home/mccd/marcvault/Journal/2023-04-10.org" "/home/mccd/marcvault/Journal/2023-04-11.org" "/home/mccd/marcvault/Journal/2023-04-12.org" "/home/mccd/marcvault/Journal/2023-04-13.org" "/home/mccd/marcvault/Journal/2023-04-14.org" "/home/mccd/marcvault/Journal/2023-04-15.org" "/home/mccd/marcvault/Journal/2023-04-16.org" "/home/mccd/marcvault/Journal/2023-04-17.org" "/home/mccd/marcvault/Journal/2023-04-18.org" "/home/mccd/marcvault/Journal/2023-04-19.org" "/home/mccd/marcvault/Journal/2023-04-20.org" "/home/mccd/marcvault/Journal/2023-04-21.org" "/home/mccd/marcvault/Journal/2023-04-24.org" "/home/mccd/marcvault/Journal/2023-04-25.org" "/home/mccd/marcvault/Journal/2023-04-26.org" "/home/mccd/marcvault/Journal/2023-04-27.org" "/home/mccd/marcvault/Journal/2023-04-28.org" "/home/mccd/marcvault/Journal/2023-04-29.org" "/home/mccd/marcvault/Journal/2023-04-30.org" "/home/mccd/marcvault/Journal/2023-05-01.org" "/home/mccd/marcvault/Journal/2023-05-02.org" "/home/mccd/marcvault/Journal/2023-05-03.org" "/home/mccd/marcvault/Journal/2023-05-04.org" "/home/mccd/marcvault/Journal/2023-05-05.org" "/home/mccd/marcvault/Journal/2023-05-06.org" "/home/mccd/marcvault/Journal/2023-05-07.org" "/home/mccd/marcvault/Journal/2023-05-08.org" "/home/mccd/marcvault/Journal/2023-05-09.org" "/home/mccd/marcvault/Journal/2023-05-10.org" "/home/mccd/marcvault/Journal/2023-05-11.org" "/home/mccd/marcvault/Journal/2023-05-12.org" "/home/mccd/marcvault/Journal/2023-05-13.org" "/home/mccd/marcvault/Journal/2023-05-14.org" "/home/mccd/marcvault/Journal/2023-05-15.org" "/home/mccd/marcvault/Journal/2023-05-16.org" "/home/mccd/marcvault/Journal/2023-05-17.org" "/home/mccd/marcvault/Journal/2023-05-18.org" "/home/mccd/marcvault/Journal/2023-05-19.org" "/home/mccd/marcvault/Journal/2023-05-20.org" "/home/mccd/marcvault/Journal/2023-05-21.org" "/home/mccd/marcvault/Journal/2023-05-22.org" "/home/mccd/marcvault/Journal/2023-05-23.org" "/home/mccd/marcvault/Journal/2023-05-24.org" "/home/mccd/marcvault/Journal/2023-05-25.org" "/home/mccd/marcvault/Journal/2023-05-26.org" "/home/mccd/marcvault/Journal/2023-05-27.org" "/home/mccd/marcvault/Journal/2023-05-28.org" "/home/mccd/marcvault/Journal/2023-05-29.org" "/home/mccd/marcvault/Journal/2023-05-30.org" "/home/mccd/marcvault/Journal/2023-05-31.org" "/home/mccd/marcvault/Journal/2023-06-01.org" "/home/mccd/marcvault/Journal/2023-06-02.org" "/home/mccd/marcvault/Journal/2023-06-03.org" "/home/mccd/marcvault/Journal/2023-06-04.org" "/home/mccd/marcvault/Journal/2023-06-05.org" "/home/mccd/marcvault/Journal/2023-06-06.org" "/home/mccd/marcvault/Journal/2023-06-07.org" "/home/mccd/marcvault/Journal/2023-06-08.org" "/home/mccd/marcvault/Journal/2023-06-09.org" "/home/mccd/marcvault/Journal/2023-06-10.org" "/home/mccd/marcvault/Journal/2023-06-11.org" "/home/mccd/marcvault/Journal/2023-06-12.org" "/home/mccd/marcvault/Journal/2023-06-13.org" "/home/mccd/marcvault/Journal/2023-06-14.org" "/home/mccd/marcvault/Journal/2023-06-15.org" "/home/mccd/marcvault/Journal/2023-06-16.org" "/home/mccd/marcvault/Journal/2023-06-17.org" "/home/mccd/marcvault/Journal/2023-06-18.org" "/home/mccd/marcvault/Journal/2023-06-19.org" "/home/mccd/marcvault/Journal/2023-06-20.org" "/home/mccd/marcvault/Journal/2023-06-21.org" "/home/mccd/marcvault/Journal/2023-06-22.org" "/home/mccd/marcvault/Journal/2023-06-23.org" "/home/mccd/marcvault/Journal/2023-06-24.org" "/home/mccd/marcvault/Journal/2023-06-25.org" "/home/mccd/marcvault/Journal/2023-10-29.org" "/home/mccd/marcvault/Journal/2023-10-30.org" "/home/mccd/marcvault/Journal/2023-10-31.org" "/home/mccd/marcvault/Journal/2023-11-01.org" "/home/mccd/marcvault/Journal/2023-11-02.org" "/home/mccd/marcvault/Journal/2023-11-03.org" "/home/mccd/marcvault/Journal/2023-11-04.org" "/home/mccd/marcvault/Journal/2023-11-05.org" "/home/mccd/marcvault/Journal/2023-11-06.org" "/home/mccd/marcvault/Journal/2023-11-07.org" "/home/mccd/marcvault/Journal/2023-11-08.org" "/home/mccd/marcvault/Journal/2023-11-09.org" "/home/mccd/marcvault/Journal/2023-11-10.org" "/home/mccd/marcvault/Journal/2023-11-11.org" "/home/mccd/marcvault/Journal/2023-11-12.org" "/home/mccd/marcvault/Journal/2023-11-13.org" "/home/mccd/marcvault/Journal/2023-11-14.org" "/home/mccd/marcvault/Journal/2023-11-15.org" "/home/mccd/marcvault/Journal/2023-11-16.org" "/home/mccd/marcvault/Journal/2023-11-17.org" "/home/mccd/marcvault/Journal/2023-11-18.org" "/home/mccd/marcvault/Journal/2023-11-19.org" "/home/mccd/marcvault/Journal/2023-11-20.org" "/home/mccd/marcvault/Journal/2023-11-21.org" "/home/mccd/marcvault/Journal/2023-11-22.org" "/home/mccd/marcvault/Journal/2023-11-23.org" "/home/mccd/marcvault/Journal/2023-11-25.org" "/home/mccd/marcvault/Journal/2023-11-26.org" "/home/mccd/marcvault/Journal/2023-11-27.org" "/home/mccd/marcvault/Journal/2023-11-28.org" "/home/mccd/marcvault/Journal/2023-11-29.org" "/home/mccd/marcvault/Journal/2023-11-30.org" "/home/mccd/marcvault/Journal/2023-12-01.org" "/home/mccd/marcvault/Journal/2023-12-02.org" "/home/mccd/marcvault/Journal/2023-12-03.org" "/home/mccd/marcvault/Journal/2023-12-04.org" "/home/mccd/marcvault/Journal/2023-12-05.org" "/home/mccd/marcvault/Journal/2023-12-06.org" "/home/mccd/marcvault/Journal/2023-12-07.org" "/home/mccd/marcvault/Journal/2023-12-08.org" "/home/mccd/marcvault/Journal/2023-12-10.org" "/home/mccd/marcvault/Journal/2023-12-11.org" "/home/mccd/marcvault/Journal/2023-12-12.org" "/home/mccd/marcvault/Journal/2023-12-13.org" "/home/mccd/marcvault/Journal/2023-12-14.org" "/home/mccd/marcvault/Journal/2023-12-15.org" "/home/mccd/marcvault/Journal/2023-12-16.org" "/home/mccd/marcvault/Journal/2023-12-17.org" "/home/mccd/marcvault/Journal/2023-12-18.org" "/home/mccd/marcvault/Journal/2023-12-19.org" "/home/mccd/marcvault/Journal/2023-12-20.org" "/home/mccd/marcvault/Journal/2023-12-21.org" "/home/mccd/marcvault/Journal/2023-12-22.org" "/home/mccd/marcvault/Journal/2023-12-24.org" "/home/mccd/marcvault/Journal/2023-12-26.org" "/home/mccd/marcvault/Journal/2023-12-27.org" "/home/mccd/marcvault/Journal/2023-12-28.org" "/home/mccd/marcvault/Journal/2023-12-30.org" "/home/mccd/marcvault/Journal/2023-12-31.org" "/home/mccd/marcvault/Journal/2024-01-01.org" "/home/mccd/marcvault/Journal/2024-01-02.org" "/home/mccd/marcvault/Journal/2024-01-03.org" "/home/mccd/marcvault/Journal/2024-01-04.org" "/home/mccd/marcvault/Journal/2024-01-05.org" "/home/mccd/marcvault/Journal/2024-01-06.org" "/home/mccd/marcvault/Journal/2024-01-07.org" "/home/mccd/marcvault/Journal/2024-01-08.org" "/home/mccd/marcvault/Journal/2024-01-09.org" "/home/mccd/marcvault/Journal/2024-01-10.org" "/home/mccd/marcvault/Journal/2024-01-11.org" "/home/mccd/marcvault/Journal/2024-01-12.org" "/home/mccd/marcvault/Journal/2024-01-14.org" "/home/mccd/marcvault/Journal/2024-01-15.org" "/home/mccd/marcvault/Journal/2024-01-16.org" "/home/mccd/marcvault/Journal/2024-01-17.org" "/home/mccd/marcvault/Journal/2024-01-18.org" "/home/mccd/marcvault/Journal/2024-01-19.org" "/home/mccd/marcvault/Journal/2024-01-20.org" "/home/mccd/marcvault/Journal/2024-01-21.org" "/home/mccd/marcvault/Journal/2024-01-22.org" "/home/mccd/marcvault/Journal/2024-01-23.org" "/home/mccd/marcvault/Journal/2024-01-24.org" "/home/mccd/marcvault/Journal/2024-01-25.org" "/home/mccd/marcvault/Journal/2024-01-26.org" "/home/mccd/marcvault/Journal/2024-01-27.org" "/home/mccd/marcvault/Journal/2024-01-28.org" "/home/mccd/marcvault/Journal/2024-01-29.org" "/home/mccd/marcvault/Journal/2024-01-30.org" "/home/mccd/marcvault/Journal/2024-01-31.org" "/home/mccd/marcvault/Journal/2024-02-01.org" "/home/mccd/marcvault/Journal/2024-02-02.org" "/home/mccd/marcvault/Journal/2024-02-03.org" "/home/mccd/marcvault/Journal/2024-02-04.org" "/home/mccd/marcvault/Journal/2024-02-05.org" "/home/mccd/marcvault/Journal/2024-02-06.org" "/home/mccd/marcvault/Journal/2024-02-07.org" "/home/mccd/marcvault/Journal/2024-02-08.org" "/home/mccd/marcvault/Journal/2024-02-09.org" "/home/mccd/marcvault/Journal/2024-02-10.org" "/home/mccd/marcvault/Journal/2024-02-11.org" "/home/mccd/marcvault/Journal/2024-02-12.org" "/home/mccd/marcvault/Journal/2024-02-13.org" "/home/mccd/marcvault/Journal/2024-02-14.org" "/home/mccd/marcvault/Journal/2024-02-15.org" "/home/mccd/marcvault/Journal/2024-02-16.org" "/home/mccd/marcvault/Journal/2024-02-17.org" "/home/mccd/marcvault/Journal/2024-02-18.org" "/home/mccd/marcvault/Journal/2024-02-19.org" "/home/mccd/marcvault/Journal/2024-02-20.org" "/home/mccd/marcvault/Journal/2024-02-21.org" "/home/mccd/marcvault/Journal/2024-02-22.org" "/home/mccd/marcvault/Journal/2024-02-23.org" "/home/mccd/marcvault/Journal/2024-02-25.org" "/home/mccd/marcvault/Journal/2024-02-26.org" "/home/mccd/marcvault/Journal/2024-02-27.org" "/home/mccd/marcvault/Journal/2024-02-28.org" "/home/mccd/marcvault/Journal/2024-02-29.org" "/home/mccd/marcvault/Journal/2024-03-01.org" "/home/mccd/marcvault/Journal/2024-03-02.org" "/home/mccd/marcvault/Journal/2024-03-03.org" "/home/mccd/marcvault/Journal/2024-03-04.org" "/home/mccd/marcvault/Journal/2024-03-05.org" "/home/mccd/marcvault/Journal/2024-03-06.org" "/home/mccd/marcvault/Journal/2024-03-07.org" "/home/mccd/marcvault/Journal/2024-03-08.org" "/home/mccd/marcvault/Journal/2024-03-09.org" "/home/mccd/marcvault/Journal/2024-03-10.org" "/home/mccd/marcvault/Journal/2024-03-11.org" "/home/mccd/marcvault/Journal/2024-03-13.org" "/home/mccd/marcvault/Journal/2024-03-14.org" "/home/mccd/marcvault/Journal/2024-03-15.org" "/home/mccd/marcvault/Journal/2024-03-16.org" "/home/mccd/marcvault/Journal/2024-03-17.org" "/home/mccd/marcvault/Journal/2024-03-18.org" "/home/mccd/marcvault/Journal/2024-03-19.org" "/home/mccd/marcvault/Journal/2024-03-20.org" "/home/mccd/marcvault/Journal/2024-03-21.org" "/home/mccd/marcvault/Journal/2024-03-22.org" "/home/mccd/marcvault/Journal/2024-03-23.org" "/home/mccd/marcvault/Journal/2024-03-24.org" "/home/mccd/marcvault/Journal/2024-03-25.org" "/home/mccd/marcvault/Journal/2024-03-26.org" "/home/mccd/marcvault/Journal/2024-03-27.org" "/home/mccd/marcvault/Journal/2024-03-28.org" "/home/mccd/marcvault/Journal/2024-03-29.org" "/home/mccd/marcvault/Journal/2024-03-31.org" "/home/mccd/marcvault/Journal/2024-04-01.org" "/home/mccd/marcvault/Journal/2024-04-02.org" "/home/mccd/marcvault/Journal/2024-04-03.org" "/home/mccd/marcvault/Journal/2024-04-04.org" "/home/mccd/marcvault/Journal/2024-04-05.org" "/home/mccd/marcvault/Journal/2024-04-07.org" "/home/mccd/marcvault/Journal/2024-04-08.org" "/home/mccd/marcvault/Journal/2024-04-09.org" "/home/mccd/marcvault/Journal/2024-04-10.org" "/home/mccd/marcvault/Journal/2024-04-11.org" "/home/mccd/marcvault/Journal/2024-04-12.org" "/home/mccd/marcvault/Journal/2024-04-13.org" "/home/mccd/marcvault/Journal/2024-04-14.org" "/home/mccd/marcvault/Journal/2024-04-15.org" "/home/mccd/marcvault/Journal/2024-04-16.org" "/home/mccd/marcvault/Journal/2024-04-17.org" "/home/mccd/marcvault/Journal/2024-04-18.org" "/home/mccd/marcvault/Journal/2024-04-19.org" "/home/mccd/marcvault/Journal/2024-04-21.org" "/home/mccd/marcvault/Journal/2024-04-22.org" "/home/mccd/marcvault/Journal/2024-04-23.org" "/home/mccd/marcvault/Journal/2024-04-24.org" "/home/mccd/marcvault/Journal/2024-04-25.org" "/home/mccd/marcvault/Journal/2024-04-26.org" "/home/mccd/marcvault/Journal/2024-04-27.org" "/home/mccd/marcvault/Journal/2024-04-28.org" "/home/mccd/marcvault/Journal/2024-04-29.org" "/home/mccd/marcvault/Journal/2024-04-30.org" "/home/mccd/marcvault/Journal/2024-05-01.org" "/home/mccd/marcvault/Journal/2024-05-02.org" "/home/mccd/marcvault/Journal/2024-05-03.org" "/home/mccd/marcvault/Journal/2024-05-04.org" "/home/mccd/marcvault/Journal/2024-05-05.org" "/home/mccd/marcvault/Journal/2024-05-06.org" "/home/mccd/marcvault/Journal/2024-05-07.org" "/home/mccd/marcvault/Reflection/2024-03.org" "/home/mccd/marcvault/Reflection/2024-04.org" "/home/mccd/marcvault/API design.org" "/home/mccd/marcvault/Building Activity.org" "/home/mccd/marcvault/Declarative Without The Abstractions.org" "/home/mccd/marcvault/Improper planning.org" "/home/mccd/marcvault/Indicators of Intelligence.org" "/home/mccd/marcvault/Navigating Vim without a file tree.org" "/home/mccd/marcvault/On Documentation.org" "/home/mccd/marcvault/On happiness.org" "/home/mccd/marcvault/Socrates on living life.org" "/home/mccd/marcvault/Using AWS.org" "/home/mccd/marcvault/Using Linux.org" "/home/mccd/marcvault/Using WPA_CLI.org" "/home/mccd/marcvault/Using void.org" "/home/mccd/marcvault/You Should Care.org" "/home/mccd/marcvault/b3sy.org" "/home/mccd/marcvault/fastcgi.org" "/home/mccd/marcvault/make me think.org" "/home/mccd/marcvault/notes.org" "/home/mccd/marcvault/todo.org" "/home/mccd/marcvault/usage-tips.org" "/home/mccd/marcvault/use-fossil.org" "/home/mccd/marcvault/zot.org")) - '(org-babel-load-languages '((emacs-lisp . t) (lisp . t) (shell . t))) - '(org-fold-core-style 'overlays) - '(package-selected-packages - '(nix-mode nix-ts-mode slime eat avy monotropic-theme tempel vundo add-node-modules-path prettier password-store vc-fossil eldoc-box mu4e direnv elpher w3m elfeed-protocol elfeed ligature copilot f editorconfig s quelpa-use-package quelpa org-mime org-journal which-key consult orderless vertico markdown-mode smartparens tree-sitter-langs diff-hl magit corfu rg almost-mono-themes git-ps1-mode meow)) - '(project-switch-commands - '((project-find-file "Find file" nil) - (project-find-regexp "Find regexp" nil) - (project-find-dir "Find directory" nil) - (project-vc-dir "VC-Dir" nil) - (consult-project-buffer "Find buffer" "b") - (eat-project "Eat terminal" 101))) - '(resize-mini-frames nil) - '(resize-mini-windows t) - '(rg-align-line-number-field-length 2) - '(safe-local-variable-values - '((eval progn - (require 'lisp-mode) - (defun emacs27-lisp-fill-paragraph - (&optional justify) - (interactive "P") - (or - (fill-comment-paragraph justify) - (let - ((paragraph-start - (concat paragraph-start "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)")) - (paragraph-separate - (concat paragraph-separate "\\|\\s-*\".*[,\\.]$")) - (fill-column - (if - (and - (integerp emacs-lisp-docstring-fill-column) - (derived-mode-p 'emacs-lisp-mode)) - emacs-lisp-docstring-fill-column fill-column))) - (fill-paragraph justify)) - t)) - (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph)) - (eval modify-syntax-entry 43 "'") - (eval modify-syntax-entry 36 "'") - (eval modify-syntax-entry 126 "'") - (geiser-repl-per-project-p . t) - (eval with-eval-after-load 'yasnippet - (let - ((guix-yasnippets - (expand-file-name "etc/snippets/yas" - (locate-dominating-file default-directory ".dir-locals.el")))) - (unless - (member guix-yasnippets yas-snippet-dirs) - (add-to-list 'yas-snippet-dirs guix-yasnippets) - (yas-reload-all)))) - (eval setq-local guix-directory - (locate-dominating-file default-directory ".dir-locals.el")) - (eval add-to-list 'completion-ignored-extensions ".go"))) - '(tab-bar-format '(tab-bar-format-align-right tab-bar-format-global)) - '(tab-bar-show t) - '(vc-handled-backends '(Git Fossil)) - '(vertico-flat-annotate t) - '(vertico-flat-format - '(:multiple - #("{%s}" 0 1 - (face minibuffer-prompt) - 3 4 - (face minibuffer-prompt)) - :single - #("[%s]" 0 1 - (face minibuffer-prompt) - 1 3 - (face success) - 3 4 - (face minibuffer-prompt)) - :prompt - #("(%s)" 0 1 - (face minibuffer-prompt) - 3 4 - (face minibuffer-prompt)) - :separator - #(" | " 0 3 - (face minibuffer-prompt)) - :ellipsis - #("…" 0 1 - (face minibuffer-prompt)) - :no-match "[No match]")) - '(vertico-flat-mode nil) - '(vertico-resize nil) - '(window-resize-pixelwise t)) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(default ((t (:inherit nil :extend nil :stipple nil :background "#ffffff" :foreground "#000000" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight regular :height 100 :width normal :foundry "B&H " :family "Iosevka Term Curly")))) - '(diff-hl-insert ((t (:background "green" :foreground "green")))) - '(dired-directory ((t (:inherit font-lock-function-name-face :weight bold)))) - '(elfeed-search-feed-face ((t (:foreground "dim gray")))) - '(elfeed-search-tag-face ((t (:slant italic)))) - '(elpher-gemini-heading1 ((t (:inherit bold :height 1.2 :family "Iosevka Etoile")))) - '(elpher-gemini-preformatted ((t (:inherit variable-pitch)))) - '(erc-action-face ((t (:inherit erc-default-face :weight bold)))) - '(erc-default-face ((t (:family "Iosevka Etoile")))) - '(erc-input-face ((t (:foreground "green")))) - '(erc-my-nick-face ((t (:foreground "green" :weight bold)))) - '(erc-nick-default-face ((t (:inherit erc-default-face :weight bold)))) - '(erc-nick-msg-face ((t (:foreground "medium blue" :weight bold)))) - '(erc-notice-face ((t (:inherit erc-default-face :foreground "SlateBlue" :weight bold)))) - '(erc-prompt-face ((t (:foreground "Black" :weight bold)))) - '(erc-timestamp-face ((t (:inherit erc-default-face :foreground "gray" :weight bold)))) - '(eww-form-file ((t (:background "#808080" :foreground "white" :box (:line-width (2 . 2) :style released-button))))) - '(eww-form-submit ((t (:background "#808080" :foreground "white" :box (:line-width (2 . 2) :style released-button))))) - '(eww-valid-certificate ((t (:foreground "black" :weight bold)))) - '(font-lock-function-name-face ((t (:weight normal)))) - '(font-lock-preprocessor-face ((t (:slant normal)))) - '(font-lock-string-face ((t (:foreground "#5A5DA5")))) - '(font-lock-type-face ((t (:slant normal :weight normal)))) - '(gnus-header-content ((t (:inherit gnus-header :slant italic)))) - '(gnus-header-from ((t (:inherit gnus-header)))) - '(gnus-header-name ((t (:inherit gnus-header)))) - '(gnus-header-subject ((t (:inherit gnus-header)))) - '(gnus-summary-cancelled ((t (:extend t :strike-through t)))) - '(god-mode-lighter ((t (:inherit error)))) - '(header-line ((t (:inherit mode-line :background "#FFFFFF" :foreground "grey20" :box (:line-width (4 . 4) :color "#FFFFFF" :style flat-button) :overline nil :underline "grey" :family "Iosevka Aile")))) - '(header-line-highlight ((t (:inherit mode-line-highlight :underline (:color foreground-color :style line :position t))))) - '(highlight ((t (:background "azure2")))) - '(info-xref ((t (:inherit link :foreground "blue")))) - '(line-number ((t (:foreground "#999999")))) - '(link ((t (:underline t)))) - '(markdown-code-face ((t nil))) - '(markdown-fontify-code-block-natively t) - '(markdown-pre-face ((t (:inherit markdown-code-face)))) - '(meow-position-highlight-number ((t (:inherit default :background "grey80" :foreground "white")))) - '(mode-line ((t (:background "#FFFFFF" :foreground "#000000" :box (:line-width (4 . 4) :color "#FFFFFF" :style flat-button) :overline "grey" :height 0.8 :family "Iosevka Aile")))) - '(mode-line-inactive ((t (:background "#ffffff" :foreground "#dddddd" :box (:line-width (4 . 4) :color "#ffffff") :overline "grey" :height 0.8 :family "Iosevka Aile")))) - '(org-imminent-deadline ((t nil))) - '(show-paren-match ((t (:background "gainsboro" :foreground "green" :slant oblique :weight bold)))) - '(tab-bar ((t (:background "#FFF" :foreground "black" :box (:line-width (4 . 4) :color "#FFF") :height 0.8 :family "Iosevka Aile")))) - '(tab-bar-tab ((t (:inherit tab-bar :box nil)))) - '(tuareg-font-lock-operator-face ((t nil))) - '(variable-pitch ((t (:family "Iosevka Etoile")))) - '(variable-pitch-text ((t (:inherit variable-pitch :height 1.0)))) - '(woman-unknown ((t nil)))) diff --git a/gnus.el b/gnus.el deleted file mode 100644 index 5b59efa..0000000 --- a/gnus.el +++ /dev/null @@ -1,60 +0,0 @@ -(setq gnus-select-method '(nnnil)) -(defun my-gnus-group-list-subscribed-groups () - "List all subscribed groups with or without un-read messages" - (interactive) - (gnus-group-list-all-groups 5)) - -(add-hook 'gnus-group-mode-hook 'gnus-topic-mode) -(define-key gnus-group-mode-map - ;; list all the subscribed groups even they contain zero un-read messages - (kbd "o") 'my-gnus-group-list-subscribed-groups) - -(setq gnus-secondary-select-methods - '((nnmaildir "personal" - (nnmail-expiry-target "nnmaildir+personal:Trash") - (directory "~/mail-home")) - (nnmaildir "work" - (nnmail-expiry-target "nnmaildir+work:[Gmail]+Bin") - (directory "~/mail-work")))) - -(setq gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]" - nnmail-expiry-wait 'immediate - message-sendmail-f-is-evil 't - message-sendmail-extra-arguments '("--read-envelope-from") - message-send-mail-function 'message-send-mail-with-sendmail - sendmail-program "msmtp" - mail-host-address "mccd.space" - user-full-name "Marc Coquand" - user-mail-address "marc@mccd.space") - -(setq gnus-topic-topology '(("Gnus" visible) - (("personal" visible)) - (("misc" hidden)) - (("work" visible nil nil)) - )) -(setq gnus-topic-alist '(("personal" ; the key of topic - "nnmaildir+personal:INBOX" - "nnmaildir+personal:INBOX+Forums" - "nnmaildir+personal:Archive" - "nnmaildir+personal:Archive+Support" - ) - ("misc" - "nnfolder+archive:sent.2024-04" - "nnmaildir+personal:Archive+Receipt" - "nnmaildir+personal:Archive+WCIG" - "nnmaildir+personal:Spam" - "nnmaildir+personal:Sent" - ) - ("work" ; the key of topic - "nnmaildir+work:INBOX" - "nnmaildir+work:[Gmail]+Sent Mail" - "nnmaildir+work:[Gmail]+Trash" - ) - ("Gnus"))) - - -(setq gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]") -(setq nnheader-file-name-translation-alist '((?[ . ?_) (?] . ?_)) ) -(setq gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject) -(setq gnus-thread-hide-subtree t) -(setq gnus-thread-ignore-subject t) |