diff options
| author | Miquel Sabaté Solà <mssola@mssola.com> | 2025-09-16 22:34:28 +0200 |
|---|---|---|
| committer | Miquel Sabaté Solà <mssola@mssola.com> | 2025-09-16 22:34:28 +0200 |
| commit | 56d6f3c2185338c97c99a4b690ee14866af033a0 (patch) | |
| tree | dc7ef9e8889abe2eb4de4c29f14ae29112fdf390 | |
| parent | 893f8e928e563b3d8bc6ddcfc16ee97c4cde2967 (diff) | |
| download | dotfiles-56d6f3c2185338c97c99a4b690ee14866af033a0.tar.gz dotfiles-56d6f3c2185338c97c99a4b690ee14866af033a0.zip | |
bin: Add 'fetch-email'
This is a glorified bash one-liner for fetching my email by syncing each
channel via GNU parallel. This speeds up a bit from the usual 'mbsync
-a', even if it's not a miracle.
Signed-off-by: Miquel Sabaté Solà <mssola@mssola.com>
| -rw-r--r-- | .config/emacs/init.el | 2 | ||||
| -rwxr-xr-x | bin/fetch-email | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/.config/emacs/init.el b/.config/emacs/init.el index 5d61993..0f39e04 100644 --- a/.config/emacs/init.el +++ b/.config/emacs/init.el @@ -633,7 +633,7 @@ ;; General mu4e settings. (setq message-kill-buffer-on-exit t - mu4e-get-mail-command "mbsync --all" + mu4e-get-mail-command "fetch-email" mu4e-update-interval (* 10 60) mu4e-use-fancy-chars nil gnus-treat-display-smileys nil diff --git a/bin/fetch-email b/bin/fetch-email new file mode 100755 index 0000000..f7ac944 --- /dev/null +++ b/bin/fetch-email @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Copyright (C) 2025-Ω Miquel Sabaté Solà <mssola@mssola.com> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +if ! command -v parallel &> /dev/null; then + echo "fetch-email (error): you need 'parallel' installed." + exit 1 +fi + +if ! command -v mbsync &> /dev/null; then + echo "fetch-email (error): you need 'mbsync' installed." + exit 1 +fi + +grep '^Channel' ~/.mbsyncrc | awk '{ print $2; }' | sort | uniq | parallel -j12 mbsync {}
\ No newline at end of file |
