From 75d9c733b56ad0d456cefbfbbf69454061f0b7a8 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Wed, 13 May 2026 13:43:14 +0100 Subject: refactor(mail): drop TUI stack, add headless proton-bridge Remove aerc, khal, khard, vdirsyncer from meta/mail.txt and delete their configs (aerc/, vdirsyncer systemd override, aerc .desktop handler). Point linkhandler mailto at xdg-open until a GUI client is set up. Add systemd user unit for protonmail-bridge --noninteractive, tied to graphical-session.target so it starts with the sway session. --- dot_config/aerc/aerc.conf | 32 ---- dot_config/aerc/binds.conf | 165 --------------------- dot_config/systemd/user/protonmail-bridge.service | 14 ++ .../user/vdirsyncer.service.d/override.conf | 2 - 4 files changed, 14 insertions(+), 199 deletions(-) delete mode 100644 dot_config/aerc/aerc.conf delete mode 100644 dot_config/aerc/binds.conf create mode 100644 dot_config/systemd/user/protonmail-bridge.service delete mode 100644 dot_config/systemd/user/vdirsyncer.service.d/override.conf (limited to 'dot_config') diff --git a/dot_config/aerc/aerc.conf b/dot_config/aerc/aerc.conf deleted file mode 100644 index 25deb62..0000000 --- a/dot_config/aerc/aerc.conf +++ /dev/null @@ -1,32 +0,0 @@ -[ui] -styleset-name=gruvbox -fuzzy-complete=true -reverse-msglist-order=true -threading-enabled=true -show-thread-context=true - -[compose] -address-book-cmd=khard email --remove-first-line --parsable %s -file-picker-cmd=fzf --multi --query=%s -empty-subject-warning=true -no-attachment-warning=^[^>]*attach(ed|ment) - -[multipart-converters] -text/html=pandoc -f markdown -t html --standalone - -[filters] -text/plain=colorize -text/calendar=calendar -message/delivery-status=colorize -message/rfc822=colorize -text/html=html | colorize -text/*=bat -fP --file-name="$AERC_FILENAME" -application/x-sh=bat -fP -l sh -.headers=colorize - -[openers] -x-scheme-handler/http*=librewolf -text/html=librewolf - -[hooks] -mail-received=notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] New mail from $AERC_FROM_NAME" "$AERC_SUBJECT" diff --git a/dot_config/aerc/binds.conf b/dot_config/aerc/binds.conf deleted file mode 100644 index 145efd9..0000000 --- a/dot_config/aerc/binds.conf +++ /dev/null @@ -1,165 +0,0 @@ -# Binds are of the form = -# To use '=' in a key sequence, substitute it with "Eq": "" -# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit - = :prev-tab - = :prev-tab - = :next-tab - = :next-tab - = :term -? = :help keys - = :prompt 'Quit?' quit - = :prompt 'Quit?' quit - -[messages] -q = :quit -h = :quit - -j = :next - = :next - = :next 50% - = :next 100% - = :next 100% - -k = :prev - = :prev - = :prev 50% - = :prev 100% - = :prev 100% -g = :select 0 -G = :select -1 - -J = :next-folder - = :next-folder -K = :prev-folder - = :prev-folder -H = :collapse-folder - = :collapse-folder -L = :expand-folder - = :expand-folder - -v = :mark -t - = :mark -t:next -V = :mark -v - -T = :toggle-threads -zc = :fold -zo = :unfold - - = :view -d = :prompt 'Really delete this message?' 'delete-message' -D = :delete -a = :archive flat -A = :unmark -a:mark -T:archive flat - -C = :compose -m = :compose - -rr = :reply -a -rq = :reply -aq -Rr = :reply -Rq = :reply -q - -c = :cf -$ = :term -! = :term -| = :pipe - -/ = :search -\ = :filter -n = :next-result -N = :prev-result - = :clear - -s = :split -S = :vsplit - -[messages:folder=Drafts] - = :recall - -[view] -/ = :toggle-key-passthrough/ -q = :close -h = :close -O = :open -o = :open -S = :save -| = :pipe -D = :delete -A = :archive flat -s = :flag -t - - = :open-link - -f = :forward -rr = :reply -a -rq = :reply -aq -Rr = :reply -Rq = :reply -q - -H = :toggle-headers - = :prev-part - = :prev-part - = :next-part - = :next-part -J = :next - = :next -K = :prev - = :prev - -[view::passthrough] -$noinherit = true -$ex = - = :toggle-key-passthrough - -[compose] -# Keybindings used when the embedded terminal is not selected in the compose -# view -$noinherit = true -$ex = - = :prev-field - = :prev-field - = :next-field - = :next-field - = :switch-account -p - = :switch-account -p - = :switch-account -n - = :switch-account -n - = :next-field - = :prev-field - = :prev-tab - = :prev-tab - = :next-tab - = :next-tab - -[compose::editor] -# Keybindings used when the embedded terminal is selected in the compose view -$noinherit = true -$ex = - = :prev-field - = :prev-field - = :next-field - = :next-field - = :prev-tab - = :prev-tab - = :next-tab - = :next-tab - -[compose::review] -# Keybindings used when reviewing a message to be sent -y = :send -n = :abort -v = :preview -p = :postpone -q = :choose -o d discard abort -o p postpone postpone -e = :edit -a = :attach -d = :detach - -[terminal] -$noinherit = true -$ex = - - = :prev-tab - = :next-tab - = :prev-tab - = :next-tab diff --git a/dot_config/systemd/user/protonmail-bridge.service b/dot_config/systemd/user/protonmail-bridge.service new file mode 100644 index 0000000..5da14c5 --- /dev/null +++ b/dot_config/systemd/user/protonmail-bridge.service @@ -0,0 +1,14 @@ +[Unit] +Description=ProtonMail Bridge (headless IMAP/SMTP proxy) +After=network-online.target +Wants=network-online.target + +[Service] +Type=simple +ExecStart=/usr/bin/protonmail-bridge --noninteractive +Restart=on-failure +RestartSec=10s +Environment=PASSWORD_STORE_DIR=%h/.local/share/password-store + +[Install] +WantedBy=graphical-session.target diff --git a/dot_config/systemd/user/vdirsyncer.service.d/override.conf b/dot_config/systemd/user/vdirsyncer.service.d/override.conf deleted file mode 100644 index 6bc6060..0000000 --- a/dot_config/systemd/user/vdirsyncer.service.d/override.conf +++ /dev/null @@ -1,2 +0,0 @@ -[Service] -Environment="PASSWORD_STORE_DIR=%h/.local/share/password-store" -- cgit v1.3.1