From 5860445da55ac3abc3935c6ffd5e9bb4539225c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Benencia?= Date: Thu, 20 Jul 2023 07:53:35 -0700 Subject: emacs: move everything to ~/.emacs.d --- .emacs.local.d/modes/auto-fill.el | 4 - .emacs.local.d/modes/company.el | 42 ----------- .emacs.local.d/modes/dashboard.el | 9 --- .emacs.local.d/modes/doom-modeline.el | 11 --- .emacs.local.d/modes/flycheck.el | 20 ----- .emacs.local.d/modes/flyspell.el | 12 --- .emacs.local.d/modes/fonts.el | 31 -------- .emacs.local.d/modes/go-lang.el | 23 ------ .emacs.local.d/modes/hydra.el | 97 ------------------------- .emacs.local.d/modes/ibuffer.el | 35 --------- .emacs.local.d/modes/imenu.el | 12 --- .emacs.local.d/modes/ivy.el | 38 ---------- .emacs.local.d/modes/latex.el | 9 --- .emacs.local.d/modes/logos.el | 29 -------- .emacs.local.d/modes/lsp.el | 17 ----- .emacs.local.d/modes/magit.el | 15 ---- .emacs.local.d/modes/mail-mode.el | 12 --- .emacs.local.d/modes/markdown.el | 5 -- .emacs.local.d/modes/mu4e.el | 61 ---------------- .emacs.local.d/modes/notmuch.el | 133 ---------------------------------- .emacs.local.d/modes/projectile.el | 9 --- .emacs.local.d/modes/python.el | 1 - .emacs.local.d/modes/sml.el | 7 -- .emacs.local.d/modes/tabbar.el | 25 ------- .emacs.local.d/modes/themes.el | 47 ------------ .emacs.local.d/modes/vterm.el | 6 -- .emacs.local.d/modes/which-key.el | 5 -- .emacs.local.d/modes/writeroom.el | 34 --------- 28 files changed, 749 deletions(-) delete mode 100644 .emacs.local.d/modes/auto-fill.el delete mode 100644 .emacs.local.d/modes/company.el delete mode 100644 .emacs.local.d/modes/dashboard.el delete mode 100644 .emacs.local.d/modes/doom-modeline.el delete mode 100644 .emacs.local.d/modes/flycheck.el delete mode 100644 .emacs.local.d/modes/flyspell.el delete mode 100644 .emacs.local.d/modes/fonts.el delete mode 100644 .emacs.local.d/modes/go-lang.el delete mode 100644 .emacs.local.d/modes/hydra.el delete mode 100644 .emacs.local.d/modes/ibuffer.el delete mode 100644 .emacs.local.d/modes/imenu.el delete mode 100644 .emacs.local.d/modes/ivy.el delete mode 100644 .emacs.local.d/modes/latex.el delete mode 100644 .emacs.local.d/modes/logos.el delete mode 100644 .emacs.local.d/modes/lsp.el delete mode 100644 .emacs.local.d/modes/magit.el delete mode 100644 .emacs.local.d/modes/mail-mode.el delete mode 100644 .emacs.local.d/modes/markdown.el delete mode 100644 .emacs.local.d/modes/mu4e.el delete mode 100644 .emacs.local.d/modes/notmuch.el delete mode 100644 .emacs.local.d/modes/projectile.el delete mode 100644 .emacs.local.d/modes/python.el delete mode 100644 .emacs.local.d/modes/sml.el delete mode 100644 .emacs.local.d/modes/tabbar.el delete mode 100644 .emacs.local.d/modes/themes.el delete mode 100644 .emacs.local.d/modes/vterm.el delete mode 100644 .emacs.local.d/modes/which-key.el delete mode 100644 .emacs.local.d/modes/writeroom.el (limited to '.emacs.local.d/modes') diff --git a/.emacs.local.d/modes/auto-fill.el b/.emacs.local.d/modes/auto-fill.el deleted file mode 100644 index dad2831..0000000 --- a/.emacs.local.d/modes/auto-fill.el +++ /dev/null @@ -1,4 +0,0 @@ -;; auto-fill mode -(add-hook 'text-mode-hook 'turn-on-auto-fill) -(global-set-key (kbd "C-c q") 'auto-fill-mode) - diff --git a/.emacs.local.d/modes/company.el b/.emacs.local.d/modes/company.el deleted file mode 100644 index d52000e..0000000 --- a/.emacs.local.d/modes/company.el +++ /dev/null @@ -1,42 +0,0 @@ -(use-package company - :ensure t - :defer t - :init (global-company-mode) - :config - (progn - ;; Use Company for completion - (bind-key [remap completion-at-point] #'company-complete company-mode-map) - - (setq company-tooltip-align-annotations t - ;; Easy navigation to candidates with M- - company-show-numbers t) - (setq company-dabbrev-downcase nil)) - - (setq company-idle-delay 0) - (setq company-minimum-prefix-length 1) - :diminish company-mode) - -(use-package company-quickhelp ; Documentation popups for Company - :ensure t - :defer t - :init (add-hook 'global-company-mode-hook #'company-quickhelp-mode)) - -(use-package company-go - :ensure t - :defer t - :init - (with-eval-after-load 'company - (add-to-list 'company-backends 'company-go))) - -(use-package company-lsp - :ensure t - :commands company-lsp) - -(use-package yasnippet - :ensure t - :config - (yas-global-mode 1) - (global-set-key (kbd "C-c y") 'company-yasnippet)) - -(use-package yasnippet-snippets - :ensure t) diff --git a/.emacs.local.d/modes/dashboard.el b/.emacs.local.d/modes/dashboard.el deleted file mode 100644 index 7bf51a9..0000000 --- a/.emacs.local.d/modes/dashboard.el +++ /dev/null @@ -1,9 +0,0 @@ -(use-package dashboard - :ensure t - :diminish dashboard-mode - :config - (setq dashboard-banner-logo-title "Happy hacking!") - (setq dashboard-items '((recents . 10) - (projects . 5) - (bookmarks . 10))) - (dashboard-setup-startup-hook)) diff --git a/.emacs.local.d/modes/doom-modeline.el b/.emacs.local.d/modes/doom-modeline.el deleted file mode 100644 index b212652..0000000 --- a/.emacs.local.d/modes/doom-modeline.el +++ /dev/null @@ -1,11 +0,0 @@ -;; Elpa packages: doom-modeline all-the-icons -;; Run: all-the-icons-install-fonts - -(use-package doom-modeline - :ensure t - :hook (after-init . doom-modeline-mode) - :config - (setq doom-modeline-height 1) - (set-face-attribute 'mode-line nil :family "Noto Sans" :height 150) - (set-face-attribute 'mode-line-inactive nil :family "Noto Sans" :height 150) -) diff --git a/.emacs.local.d/modes/flycheck.el b/.emacs.local.d/modes/flycheck.el deleted file mode 100644 index 6662c06..0000000 --- a/.emacs.local.d/modes/flycheck.el +++ /dev/null @@ -1,20 +0,0 @@ -;; Debian-packages: elpa-flycheck python3-proselint - -(flycheck-define-checker proselint - "A linter for prose." - :command ("proselint" source-inplace) - :error-patterns - ((warning line-start (file-name) ":" line ":" column ": " - (id (one-or-more (not (any " ")))) - (message) line-end)) - :modes (text-mode markdown-mode gfm-mode org-mode)) - -(add-to-list 'flycheck-checkers 'proselint) - -;; TODO: docker run --rm -p 8010:8010 erikvl87/languagetool -(use-package flycheck-languagetool - :ensure t - :hook (message-mode . flycheck-languagetool-setup) - :init - (setq flycheck-languagetool-url "http://localhost:8010") -) diff --git a/.emacs.local.d/modes/flyspell.el b/.emacs.local.d/modes/flyspell.el deleted file mode 100644 index 8cf27b8..0000000 --- a/.emacs.local.d/modes/flyspell.el +++ /dev/null @@ -1,12 +0,0 @@ -(defcustom flyspell-delayed-commands nil - "List of commands that are \"delayed\" for Flyspell mode. -After these commands, Flyspell checking is delayed for a short time, -whose length is specified by `flyspell-delay'." - :group 'flyspell - :type '(repeat (symbol))) - -(setq ispell-dictionary "en") -(setq flyspell-default-dictionary "en") - -(setq flyspell-issue-welcome-flag nil) -(setq-default ispell-list-command "list") diff --git a/.emacs.local.d/modes/fonts.el b/.emacs.local.d/modes/fonts.el deleted file mode 100644 index 69eb304..0000000 --- a/.emacs.local.d/modes/fonts.el +++ /dev/null @@ -1,31 +0,0 @@ -;; elpa-packages: fontaine - -(setq fontaine-presets - '((tiny - :default-family "Fira Code Retina" - :default-height 100) - (small - :default-family "Fira Code Retina" - :default-height 120) - (medium - :default-height 140) - (large - :default-weight semilight - :default-height 180 - :bold-weight extrabold) - (presentation - :default-weight semilight - :default-height 200 - :bold-weight extrabold) - (jumbo - :default-weight semilight - :default-height 230 - :bold-weight extrabold) - (t - :default-family "Fira Code Retina" - :default-weight regular - :default-height 140 - :variable-pitch-family "Fira Code Retina"))) - -;; Set desired style from `fontaine-presets' -(fontaine-set-preset 'medium) diff --git a/.emacs.local.d/modes/go-lang.el b/.emacs.local.d/modes/go-lang.el deleted file mode 100644 index 8ec678b..0000000 --- a/.emacs.local.d/modes/go-lang.el +++ /dev/null @@ -1,23 +0,0 @@ -;; Debian packages: elpa-go-mode -;; Elpa packages: go-eldoc - -(use-package go-mode - :ensure t - :init - (progn - (bind-key [remap find-tag] #'godef-jump)) - :config - (add-hook 'go-mode-hook #'yas-minor-mode) - (add-hook 'go-mode-hook 'electric-pair-mode) - (add-hook 'go-mode-hook 'my-go-mode-hook) - (add-hook 'before-save-hook 'gofmt-before-save) -) - -(use-package go-eldoc - :ensure t - :init - (add-hook 'go-mode-hook 'go-eldoc-setup)) - -;; Define function to call when go-mode loads -(defun my-go-mode-hook () - (set 'compile-command "go build -v && go test -v && go vet")) diff --git a/.emacs.local.d/modes/hydra.el b/.emacs.local.d/modes/hydra.el deleted file mode 100644 index 8afe86f..0000000 --- a/.emacs.local.d/modes/hydra.el +++ /dev/null @@ -1,97 +0,0 @@ -(use-package hydra - :defer 1) - -;; projectile -(defhydra hydra-projectile-other-window (:color teal) - "projectile-other-window" - ("f" projectile-find-file-other-window "file") - ("g" projectile-find-file-dwim-other-window "file dwim") - ("d" projectile-find-dir-other-window "dir") - ("b" projectile-switch-to-buffer-other-window "buffer") - ("q" nil "cancel" :color blue)) - -(defhydra hydra-projectile (:color teal - :hint nil) - " - PROJECTILE: %(projectile-project-root) - - Find File Search/Tags Buffers Cache ------------------------------------------------------------------------------------------- -_s-f_: file _a_: ag _i_: Ibuffer _c_: cache clear - _ff_: file dwim _g_: update gtags _b_: switch to buffer _x_: remove known project - _fd_: file curr dir _o_: multi-occur _s-k_: Kill all buffers _X_: cleanup non-existing - _r_: recent file _s_: ripgrep ^^^^_z_: cache current - _d_: dir - -" - ("a" projectile-ag) - ("b" projectile-switch-to-buffer) - ("c" projectile-invalidate-cache) - ("d" projectile-find-dir) - ("s-f" projectile-find-file) - ("ff" projectile-find-file-dwim) - ("fd" projectile-find-file-in-directory) - ("g" ggtags-update-tags) - ("s-g" ggtags-update-tags) - ("i" projectile-ibuffer) - ("K" projectile-kill-buffers) - ("s-k" projectile-kill-buffers) - ("m" projectile-multi-occur) - ("o" projectile-multi-occur) - ("s-p" projectile-switch-project "switch project") - ("p" projectile-switch-project) - ("s" projectile-save-project-buffers "save project buffers") - ("r" projectile-recentf) - ("x" projectile-remove-known-project) - ("X" projectile-cleanup-known-projects) - ("z" projectile-cache-current-file) - ("`" hydra-projectile-other-window/body "other window") - ("q" nil "cancel" :color blue)) - - -(global-set-key (kbd "C-c p") 'hydra-projectile/body) - -;; tab-bar -(defhydra hydra-tab-bar (:color amaranth) - "Tab Bar Operations" - ("t" tab-new "Create a new tab" :column "Creation" :exit t) - ("d" dired-other-tab "Open Dired in another tab") - ("f" find-file-other-tab "Find file in another tab") - ("x" tab-close "Close current tab") - ("m" tab-move "Move current tab" :column "Management") - ("r" tab-rename "Rename Tab") - ("" tab-bar-select-tab-by-name "Select tab by name" :column "Navigation") - ("l" tab-next "Next Tab") - ("j" tab-previous "Previous Tab") - ("q" nil "Exit" :exit t)) - -(global-set-key (kbd "C-x t") 'hydra-tab-bar/body) - -;; Zoom -(defhydra hydra-zoom () - "zoom" - ("g" text-scale-increase "in") - ("l" text-scale-decrease "out")) - -(global-set-key (kbd "C-c z") 'hydra-zoom/body) - -;; Go -(defhydra hydra-go () - "zoom" - ("=" gofmt :exit t) - ("c" go-coverage :exit t)) - -;; vterm -(defhydra hydra-vterm () - "zoom" - ("t" multi-vterm "Open a terminal" :exit t) - ("d" multi-vterm-dedicated-open "Dedicated" :exit t) - ("p" multi-vterm-prev "Previous terminal") - ("n" multi-vterm-next "Next terminal") - ("r" multi-vterm-rename-buffer "Rename buffer" :exit t) - ) - -(global-set-key (kbd "C-c t") 'hydra-vterm/body) - - -(global-set-key (kbd "C-c m") 'hydra-go/body) diff --git a/.emacs.local.d/modes/ibuffer.el b/.emacs.local.d/modes/ibuffer.el deleted file mode 100644 index d5198d8..0000000 --- a/.emacs.local.d/modes/ibuffer.el +++ /dev/null @@ -1,35 +0,0 @@ -;; Debian packages: elpa-ibuffer-vc - -(use-package ibuffer ; Better buffer list - :bind (([remap list-buffers] . ibuffer)) - ;; Show VC Status in ibuffer - :config (setq ibuffer-formats - '((mark modified read-only vc-status-mini " " - (name 18 18 :left :elide) - " " - (size 9 -1 :right) - " " - (mode 16 16 :left :elide) - " " - (vc-status 16 16 :left) - " " - filename-and-process) - (mark modified read-only " " - (name 18 18 :left :elide) - " " - (size 9 -1 :right) - " " - (mode 16 16 :left :elide) - " " filename-and-process) - (mark " " - (name 16 -1) - " " filename)))) - -(use-package ibuffer-vc ; Group buffers by VC project and status - :ensure t - :defer t - :init (add-hook 'ibuffer-hook - (lambda () - (ibuffer-vc-set-filter-groups-by-vc-root) - (unless (eq ibuffer-sorting-mode 'alphabetic) - (ibuffer-do-sort-by-alphabetic))))) diff --git a/.emacs.local.d/modes/imenu.el b/.emacs.local.d/modes/imenu.el deleted file mode 100644 index 1a2b29b..0000000 --- a/.emacs.local.d/modes/imenu.el +++ /dev/null @@ -1,12 +0,0 @@ -;; Debian packages: elpa-imenu-list -(use-package imenu-list - :ensure t - :bind ("C-." . imenu-list-minor-mode) - :config - (setq imenu-list-focus-after-activation t) - (setq imenu-list-size 0.2) - (setq imenu-list-position 'left) - (add-hook 'go-mode-hook #'imenu-list-minor-mode)) - - - diff --git a/.emacs.local.d/modes/ivy.el b/.emacs.local.d/modes/ivy.el deleted file mode 100644 index fcf69ca..0000000 --- a/.emacs.local.d/modes/ivy.el +++ /dev/null @@ -1,38 +0,0 @@ -(use-package ivy - :diminish (ivy-mode . "") - :init (ivy-mode 1) ; globally at startup - - :bind (:map ivy-minibuffer-map - ("TAB" . ivy-alt-done)) - :config - (setq ivy-use-virtual-buffers t) - (setq ivy-height 20) - (setq ivy-count-format "%d/%d ") - (setq ivy-re-builders-alist - '((swiper . ivy--regex-plus) - (t . ivy--regex-fuzzy))) -) - -;; Override the basic Emacs commands -(use-package counsel - :bind* ; load when pressed - (("M-x" . counsel-M-x) - ("C-s" . swiper) - ("C-x C-f" . counsel-find-file) - ("C-x C-r" . counsel-recentf) ; search for recently edited - ("C-c g" . counsel-git) ; search for files in git repo - ("C-c /" . counsel-ag) ; Use ag for regexp - ("C-x l" . counsel-locate) - ("C-x C-f" . counsel-find-file) - (" f" . counsel-describe-function) - (" v" . counsel-describe-variable) - (" l" . counsel-find-library) - (" i" . counsel-info-lookup-symbol) - (" u" . counsel-unicode-char) - ("C-c C-r" . ivy-resume))) ; Resume last Ivy-based completion - -(use-package ivy-hydra - :defer t - :after hydra) - -(provide 'init-ivy) diff --git a/.emacs.local.d/modes/latex.el b/.emacs.local.d/modes/latex.el deleted file mode 100644 index de4de1f..0000000 --- a/.emacs.local.d/modes/latex.el +++ /dev/null @@ -1,9 +0,0 @@ -(add-hook 'latex-mode-hook 'flyspell-mode) -(setq TeX-PDF-mode t) - -(defun pdfevince () - (add-to-list 'TeX-output-view-style - '("^pdf$" "." "evince %o %(outpage)"))) - -(add-hook 'LaTeX-mode-hook 'pdfevince t) ; AUCTeX LaTeX mode - diff --git a/.emacs.local.d/modes/logos.el b/.emacs.local.d/modes/logos.el deleted file mode 100644 index 23d9937..0000000 --- a/.emacs.local.d/modes/logos.el +++ /dev/null @@ -1,29 +0,0 @@ -(use-package logos -:ensure t -:config - -;; If you want to use outlines instead of page breaks (the ^L) -(setq logos-outlines-are-pages t) -(setq logos-outline-regexp-alist - `((emacs-lisp-mode . "^;;;+ ") - (org-mode . "^\\*+ +") - (markdown-mode . "^\\#+ +") - )) - -;; These apply when `logos-focus-mode' is enabled. Their value is -;; buffer-local. -(setq-default logos-hide-mode-line t - logos-hide-buffer-boundaries t - logos-hide-fringe t - logos-variable-pitch nil - logos-buffer-read-only nil - logos-scroll-lock nil - logos-olivetti t) - - -(let ((map global-map)) - (define-key map [remap narrow-to-region] #'logos-narrow-dwim) - (define-key map [remap forward-page] #'logos-forward-page-dwim) - (define-key map [remap backward-page] #'logos-backward-page-dwim) - (define-key map (kbd "") #'logos-focus-mode)) -) diff --git a/.emacs.local.d/modes/lsp.el b/.emacs.local.d/modes/lsp.el deleted file mode 100644 index a565b03..0000000 --- a/.emacs.local.d/modes/lsp.el +++ /dev/null @@ -1,17 +0,0 @@ -(use-package lsp-mode - :ensure t - :commands - (lsp lsp-deferred) - :hook - (dart-mode go-mode . lsp) - :init - (setq lsp-keymap-prefix "H-l") - ) - -(defun lsp-go-install-save-hooks () - (add-hook 'before-save-hook #'lsp-format-buffer t t) - (add-hook 'before-save-hook #'lsp-organize-imports t t)) - -(use-package lsp-ui - :ensure t - :commands lsp-ui-mode) diff --git a/.emacs.local.d/modes/magit.el b/.emacs.local.d/modes/magit.el deleted file mode 100644 index cd52e67..0000000 --- a/.emacs.local.d/modes/magit.el +++ /dev/null @@ -1,15 +0,0 @@ -;; Debian packages: elpa-magit - -(use-package magit - :ensure t - :defer t - :bind (("C-x g" . magit-status)) - :config - (progn - (defun inkel/magit-log-edit-mode-hook () - (flyspell-mode t) - (turn-on-auto-fill)) - (defadvice magit-status (around magit-fullscreen activate) - (window-configuration-to-register :magit-fullscreen) - ad-do-it - (delete-other-windows)))) diff --git a/.emacs.local.d/modes/mail-mode.el b/.emacs.local.d/modes/mail-mode.el deleted file mode 100644 index 4969f0a..0000000 --- a/.emacs.local.d/modes/mail-mode.el +++ /dev/null @@ -1,12 +0,0 @@ -(setq mml-secure-openpgp-sign-with-sender t) - -(add-to-list 'auto-mode-alist '("/mutt" . mail-mode)) -(add-hook 'mail-mode-hook - (lambda () - (font-lock-add-keywords nil - '(("^[ \t]*>[ \t]*>[ \t]*>.*$" - (0 'compilation-error)) - ("^[ \t]*>[ \t]*>.*$" - (0 'compilation-column-number)) - ("^[ \t]*>.*$" - (0 'comint-highlight-prompt)))))) diff --git a/.emacs.local.d/modes/markdown.el b/.emacs.local.d/modes/markdown.el deleted file mode 100644 index f035509..0000000 --- a/.emacs.local.d/modes/markdown.el +++ /dev/null @@ -1,5 +0,0 @@ -(autoload 'markdown-mode "markdown-mode.el" - "Major mode for editing Markdown files" t) - -(setq auto-mode-alist - (cons '("\\.mdwn" . markdown-mode) auto-mode-alist)) diff --git a/.emacs.local.d/modes/mu4e.el b/.emacs.local.d/modes/mu4e.el deleted file mode 100644 index da8b7c8..0000000 --- a/.emacs.local.d/modes/mu4e.el +++ /dev/null @@ -1,61 +0,0 @@ -(require 'mu4e) - -;; sending mail -(setq message-send-mail-function 'message-send-mail-with-sendmail - sendmail-program "/home/lur/bin/te-msmtp" - user-mail-address "raul@thousandeyes.com" - user-full-name "Raúl Benencia") - -(setq mu4e-user-mail-address-list (list "raul@thousandeyes.com")) - -(setq message-kill-buffer-on-exit t) -;; Use fancy chars -(setq mu4e-use-fancy-chars t) -;; don't save message to Sent Messages, Gmail/IMAP takes care of this -(setq mu4e-sent-messages-behavior 'delete) -(setq mu4e-update-interval 60) ;; update every 5 minutes - -;; use 'fancy' non-ascii characters in various places in mu4e -;;(setq mu4e-use-fancy-chars t) - -(setq relevant-maildirs " (maildir:/INBOX OR maildir:/jira OR maildir:/news OR maildir:/git)") -(mu4e-alert-enable-notifications) -(mu4e-alert-set-default-style 'libnotify) -(setq mu4e-alert-interesting-mail-query - (concat "flag:unread" - " AND NOT flag:trashed" - " AND" relevant-maildirs)) - -(mu4e-alert-set-default-style 'libnotify) -;;(add-hook 'after-init-hook #'mu4e-alert-enable-notifications) -(add-hook 'after-init-hook #'mu4e-alert-enable-mode-line-display) - -(setq mu4e-bookmarks - `(,(make-mu4e-bookmark - :name "INBOX" - :query "maildir:/INBOX" - :key ?i) - ,(make-mu4e-bookmark - :name "Unread messages" - :query (concat "flag:unread AND NOT flag:trashed AND" relevant-maildirs) - :key ?u) - ,(make-mu4e-bookmark - :name "Today's messages" - :query (concat "date:today..now AND" relevant-maildirs) - :key ?t) - ,(make-mu4e-bookmark - :name "Last 7 days" - :query (concat "date:7d..now AND" relevant-maildirs) - :key ?w) - ,(make-mu4e-bookmark - :name "Today's unread logs " - :query (concat "date:today..now flag:unread AND NOT" relevant-maildirs) - :key ?l) - ,(make-mu4e-bookmark - :name "Today's logs " - :query (concat "date:today..now AND NOT maildir:/fim AND NOT" relevant-maildirs) - :key ?l)) -) - -;; (require 'mu4e-maildirs-extension) -;; (mu4e-maildirs-extension) diff --git a/.emacs.local.d/modes/notmuch.el b/.emacs.local.d/modes/notmuch.el deleted file mode 100644 index 19ea823..0000000 --- a/.emacs.local.d/modes/notmuch.el +++ /dev/null @@ -1,133 +0,0 @@ -;; -------- -;; notmuch mode -;; -------- -(require 'notmuch) -(require 'notmuch-indicator) -(require 'rul-config-mail) - -;;;; General UI -(setq notmuch-show-logo nil - notmuch-column-control 1.0 - notmuch-hello-auto-refresh t - notmuch-hello-recent-searches-max 20 - notmuch-hello-thousands-separator "" - notmuch-show-all-tags-list t) - -;; Keymaps -(defun rul/capture-mail() - "Capture mail to org mode." - (interactive) - (org-store-link nil) - (org-capture nil "m") - ) - -(bind-key "c" 'rul/capture-mail notmuch-show-mode-map) - -(define-key notmuch-show-mode-map "R" 'notmuch-show-reply) -(define-key notmuch-search-mode-map "R" 'notmuch-search-reply-to-thread) - -; Spam -(define-key notmuch-show-mode-map "S" - (lambda () - "mark message as spam" - (interactive) - (notmuch-show-tag (list "+spam" "-inbox" "-unread")))) - -(define-key notmuch-search-mode-map "S" - (lambda (&optional beg end) - "mark thread as spam" - (interactive (notmuch-search-interactive-region)) - (notmuch-search-tag (list "+spam" "-inbox" "-unread") beg end))) - -; Archive -(setq notmuch-archive-tags (list "-inbox" "+archive")) -(define-key notmuch-show-mode-map "A" - (lambda () - "archive" - (interactive) - (notmuch-show-tag (list "+archive" "-inbox" "-unread")) - (notmuch-refresh-this-buffer))) - -(define-key notmuch-search-mode-map "A" - (lambda (&optional beg end) - "archive thread" - (interactive (notmuch-search-interactive-region)) - (notmuch-search-tag (list "+archive" "-inbox" "-unread") beg end) - (notmuch-refresh-this-buffer))) - -; Mark as read -(define-key notmuch-search-mode-map "r" - (lambda (&optional beg end) - "mark thread as read" - (interactive (notmuch-search-interactive-region)) - (notmuch-search-tag (list "-unread") beg end) - (notmuch-search-next-thread))) - -(define-key notmuch-search-mode-map (kbd "RET") - (lambda () - "Show the selected thread with notmuch-tree if it has more -than one email. Use notmuch-show otherwise." - (interactive) - (if (= (plist-get (notmuch-search-get-result) :total) 1) - (notmuch-search-show-thread) - (notmuch-tree (notmuch-search-find-thread-id) - notmuch-search-query-string - nil - (notmuch-prettify-subject (notmuch-search-find-subject)))))) - -(defun color-inbox-if-unread () (interactive) - (save-excursion - (goto-char (point-min)) - (let ((cnt (car (process-lines "notmuch" "count" "tag:inbox and tag:unread")))) - (when (> (string-to-number cnt) 0) - (save-excursion - (when (search-forward "inbox" (point-max) t) - (let* ((overlays (overlays-in (match-beginning 0) (match-end 0))) - (overlay (car overlays))) - (when overlay - (overlay-put overlay 'face '((:inherit bold) (:foreground "green"))))))))))) - -(defvar notmuch-hello-refresh-count 0) -(defun notmuch-hello-refresh-status-message () - (let* ((new-count - (string-to-number - (car (process-lines notmuch-command "count")))) - (diff-count (- new-count notmuch-hello-refresh-count))) - (cond - ((= notmuch-hello-refresh-count 0) - (message "You have %s messages." - (notmuch-hello-nice-number new-count))) - ((> diff-count 0) - (message "You have %s more messages since last refresh." - (notmuch-hello-nice-number diff-count))) - ((< diff-count 0) - (message "You have %s fewer messages since last refresh." - (notmuch-hello-nice-number (- diff-count))))) - (setq notmuch-hello-refresh-count new-count))) - -(add-hook 'notmuch-hello-refresh-hook 'color-inbox-if-unread) -(add-hook 'notmuch-hello-refresh-hook 'notmuch-hello-refresh-status-message) - -(setq notmuch-hello-sections '(notmuch-hello-insert-saved-searches - notmuch-hello-insert-search - notmuch-hello-insert-recent-searches - notmuch-hello-insert-alltags - )) - -;; https://git.sr.ht/~tslil/dotfiles/tree/4e51afbb/emacs/notmuch-config.el#L76-82 -(defmacro make-binds (mode-map binds argfunc &rest body) - "Create keybindings in `mode-map' using a list of (keystr . arg) -pairs in `binds' of the form ( ... (argfunc arg) body)." - `(progn ,@(mapcar (lambda (pair) - `(define-key ,mode-map (kbd ,(car pair)) - (lambda () (interactive) (,argfunc ,(cdr pair)) ,@body))) - (eval binds)))) - -(defvar notmuch-hello-tree-searches '(("u" . "tag:unread") - ("i" . "tag:inbox") - ("*" . "*")) - "List of (key . query) pairs to bind in notmuch-hello.") - -(make-binds notmuch-hello-mode-map - notmuch-hello-tree-searches - notmuch-search) diff --git a/.emacs.local.d/modes/projectile.el b/.emacs.local.d/modes/projectile.el deleted file mode 100644 index df85aec..0000000 --- a/.emacs.local.d/modes/projectile.el +++ /dev/null @@ -1,9 +0,0 @@ -;; Debian packages: elpa-projectile - -(use-package projectile - :hook - (after-init . projectile-global-mode) - :config - (require 'rul-config-projectile) - (setq projectile-completion-system 'ivy) -) diff --git a/.emacs.local.d/modes/python.el b/.emacs.local.d/modes/python.el deleted file mode 100644 index 3186c72..0000000 --- a/.emacs.local.d/modes/python.el +++ /dev/null @@ -1 +0,0 @@ -(add-hook 'python-mode-hook 'py-autopep8-enable-on-save) diff --git a/.emacs.local.d/modes/sml.el b/.emacs.local.d/modes/sml.el deleted file mode 100644 index 247d9b2..0000000 --- a/.emacs.local.d/modes/sml.el +++ /dev/null @@ -1,7 +0,0 @@ -;; Debian packages: elpa-smart-mode-line elpa-smart-mode-line-powerline-theme - -(use-package smart-mode-line - :ensure t - :config - (setq sml/theme 'respectful) - (sml/setup)) diff --git a/.emacs.local.d/modes/tabbar.el b/.emacs.local.d/modes/tabbar.el deleted file mode 100644 index a492e85..0000000 --- a/.emacs.local.d/modes/tabbar.el +++ /dev/null @@ -1,25 +0,0 @@ -(global-set-key (kbd "C-") 'tab-bar-switch-to-next-tab) -(global-set-key (kbd "C-") 'tab-bar-switch-to-prev-tab) - -(setq tab-bar-show t) - -(defun my/project-create-tab () - (interactive) - (tab-bar-new-tab) - (magit-status)) - -(setq project-switch-commands #'my/project-create-tab) - -(defun my/switch-to-tab-buffer () - (interactive) - (if (project-current) - (call-interactively #'projectile-switch-to-buffer) - (call-interactively #'switch-to-buffer))) - -(global-set-key (kbd "C-x b") #'my/switch-to-tab-buffer) - -;; Turn on tab bar mode after startup -(tab-bar-mode 1) - -;; Save the desktop session -(desktop-save-mode 1) diff --git a/.emacs.local.d/modes/themes.el b/.emacs.local.d/modes/themes.el deleted file mode 100644 index c94d4a1..0000000 --- a/.emacs.local.d/modes/themes.el +++ /dev/null @@ -1,47 +0,0 @@ -(use-package ef-themes :ensure t) - -(setq - modus-themes-mode-line '(accented borderless padded) - modus-themes-region '(bg-only) - modus-themes-bold-constructs t - modus-themes-italic-constructs t - modus-themes-paren-match '(bold intense) - modus-themes-headings (quote ((1 . (rainbow variable-pitch 1.3)) - (2 . (rainbow 1.1)) - (t . (rainbow)))) - modus-themes-org-blocks 'tinted - ) - -(use-package dbus) -(defun mf/set-theme-from-dbus-value (value) - "Set the appropiate theme according to the color-scheme setting value." - (message "value is %s" value) - (if (equal value '1) - (progn (message "Switch to dark theme") - (modus-themes-select 'modus-vivendi-tinted)) - (progn (message "Switch to light theme") - (modus-themes-select 'modus-operandi-tinted)))) - -(defun mf/color-scheme-changed (path var value) - "DBus handler to detect when the color-scheme has changed." - (when (and (string-equal path "org.freedesktop.appearance") - (string-equal var "color-scheme")) - (mf/set-theme-from-dbus-value (car value)) - )) - -;; Register for future changes -(dbus-register-signal - :session "org.freedesktop.portal.Desktop" - "/org/freedesktop/portal/desktop" "org.freedesktop.portal.Settings" - "SettingChanged" - #'mf/color-scheme-changed) - -;; Request the current color-scheme -(dbus-call-method-asynchronously - :session "org.freedesktop.portal.Desktop" - "/org/freedesktop/portal/desktop" "org.freedesktop.portal.Settings" - "Read" - (lambda (value) (mf/set-theme-from-dbus-value (caar value))) - "org.freedesktop.appearance" - "color-scheme" - ) diff --git a/.emacs.local.d/modes/vterm.el b/.emacs.local.d/modes/vterm.el deleted file mode 100644 index 54abbbf..0000000 --- a/.emacs.local.d/modes/vterm.el +++ /dev/null @@ -1,6 +0,0 @@ -(use-package multi-vterm -:ensure t -:config -(setq - vterm-max-scrollback 100000 -)) diff --git a/.emacs.local.d/modes/which-key.el b/.emacs.local.d/modes/which-key.el deleted file mode 100644 index 1d8fd8d..0000000 --- a/.emacs.local.d/modes/which-key.el +++ /dev/null @@ -1,5 +0,0 @@ -(use-package which-key - :ensure t - :config - (which-key-mode) -) diff --git a/.emacs.local.d/modes/writeroom.el b/.emacs.local.d/modes/writeroom.el deleted file mode 100644 index 50780cc..0000000 --- a/.emacs.local.d/modes/writeroom.el +++ /dev/null @@ -1,34 +0,0 @@ -(use-package writeroom-mode - :defer t - :config - (setq writeroom-width 140 - writeroom-mode-line nil - writeroom-global-effects '(writeroom-set-bottom-divider-width - writeroom-set-internal-border-width - (lambda (arg) - (let ((langs '("python" - "emacs-lisp" - "common-lisp" - "js" - "ruby"))) - (cond - ((= arg 1) - (progn - (setq org-src-block-faces - (mapcar (lambda (lang) (list lang '(:family "Source Code Pro" :height 0.8))) langs)) - (normal-mode) - (variable-pitch-mode))) - ((= arg -1) - (progn - (setq org-src-block-faces - (mapcar (lambda (lang) (list lang '(:family "Source Code Pro" :height 1.0))) langs)) - (normal-mode) - (variable-pitch-mode) -(variable-pitch-mode))))))))) - -(use-package olivetti - :defer t - :config - (setq - olivetti-body-width 86 - )) -- cgit v1.2.3