aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-06-05 11:06:02 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-06-05 11:06:02 +0100
commit4d8cf1bc30a076e2976787051d28d8072f8f5321 (patch)
tree1c2f9044f6fc087145ad9e7bdf77228e02954c7f
parent7414a25165e1469cacee3fa9d8e9dd25df640aa0 (diff)
downloaddotfiles-4d8cf1bc30a076e2976787051d28d8072f8f5321.tar.gz
dotfiles-4d8cf1bc30a076e2976787051d28d8072f8f5321.tar.bz2
dotfiles-4d8cf1bc30a076e2976787051d28d8072f8f5321.zip
refactor(mail): migrate protonmail-bridge from pacman to nix
Move the ProtonMail Bridge off the AUR protonmail-bridge-core package and onto nix/host.nix, consistent with the other migrated user-leaf tools. Since the AUR package previously supplied the systemd user unit (customized via a drop-in), ship a repo-owned dot_config/systemd/user/protonmail-bridge.service instead: it runs the nix binary by absolute %h/.nix-profile/bin path with --noninteractive and folds the former drop-in's PASSWORD_STORE_DIR into the unit, so the now-redundant protonmail-bridge.service.d/override.conf is removed. Drop protonmail-bridge-core from meta/base.txt (the git send-email Perl prereqs stay). No vm.nix change: the bridge is host-only and user units are not symlinked on the headless VM.
-rw-r--r--dot_config/systemd/user/protonmail-bridge.service14
-rw-r--r--dot_config/systemd/user/protonmail-bridge.service.d/override.conf2
-rw-r--r--meta/base.txt3
-rw-r--r--nix/host.nix9
-rw-r--r--systemd-units/user.txt2
5 files changed, 26 insertions, 4 deletions
diff --git a/dot_config/systemd/user/protonmail-bridge.service b/dot_config/systemd/user/protonmail-bridge.service
new file mode 100644
index 0000000..b664eba
--- /dev/null
+++ b/dot_config/systemd/user/protonmail-bridge.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=ProtonMail Bridge (local IMAP/SMTP gateway)
+Documentation=https://proton.me/mail/bridge
+
+[Service]
+Type=simple
+# pass-backed credential vault (gpg-agent decrypts on first start).
+Environment=PASSWORD_STORE_DIR=%h/.local/share/password-store
+ExecStart=%h/.nix-profile/bin/protonmail-bridge --noninteractive
+Restart=on-failure
+RestartSec=5s
+
+[Install]
+WantedBy=default.target
diff --git a/dot_config/systemd/user/protonmail-bridge.service.d/override.conf b/dot_config/systemd/user/protonmail-bridge.service.d/override.conf
deleted file mode 100644
index 7e39182..0000000
--- a/dot_config/systemd/user/protonmail-bridge.service.d/override.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[Service]
-Environment=PASSWORD_STORE_DIR=%h/.local/share/password-store
diff --git a/meta/base.txt b/meta/base.txt
index 7b26ce9..756f776 100644
--- a/meta/base.txt
+++ b/meta/base.txt
@@ -153,7 +153,8 @@ xdg-user-dirs
arkenfox-user.js
# --- mail (host-side bits the org.mozilla.thunderbird flatpak depends on) ---
-protonmail-bridge-core
+# protonmail-bridge now comes from nix/host.nix (the bridge binary + its
+# repo-owned user unit dot_config/systemd/user/protonmail-bridge.service).
# git send-email Perl prereqs (SMTP via local Bridge on 127.0.0.1:1025)
perl-authen-sasl
perl-mime-tools
diff --git a/nix/host.nix b/nix/host.nix
index ecaf464..0565f1b 100644
--- a/nix/host.nix
+++ b/nix/host.nix
@@ -62,6 +62,15 @@ in
# flatpak sandbox.
external-editor-revived
+ # ── Mail: ProtonMail Bridge ───────────────────────────────────────────────
+ # Headless IMAP/SMTP gateway (127.0.0.1:1143/1025) consumed by the
+ # Thunderbird flatpak and `git send-email`. No system coupling: it's a
+ # pure user daemon with a repo-owned user unit at
+ # dot_config/systemd/user/protonmail-bridge.service (run --noninteractive,
+ # pass-backed vault via PASSWORD_STORE_DIR). Replaces the AUR
+ # `protonmail-bridge-core`.
+ protonmail-bridge
+
# ── Wayland session: bars, launchers, notifiers, daemons ──────────────────
# Pure user-session GUIs/daemons — no system unit, no D-Bus activation
# file under /usr/share/dbus-1, no login-manager session entry. The
diff --git a/systemd-units/user.txt b/systemd-units/user.txt
index 5002a6c..270e314 100644
--- a/systemd-units/user.txt
+++ b/systemd-units/user.txt
@@ -18,5 +18,5 @@ teams-xsight.service
waybar.service
wob.service
-# --- mail (overridden via drop-ins in dot_config/systemd/user/) ---
+# --- mail (repo-owned unit in dot_config/systemd/user/) ---
protonmail-bridge.service