From d1536ec455abc28a2bde34281d4b33cdad398436 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Fri, 29 May 2026 11:18:15 +0100 Subject: chore(thunderbird): switch flatpak app id to org.mozilla.thunderbird Upstream marked org.mozilla.Thunderbird end-of-life. Flathub split it into two replacement IDs: org.mozilla.thunderbird monthly release channel (new default) org.mozilla.thunderbird_esr ESR / long-term-support channel Move to the lowercase monthly-release flatpak, which is what Mozilla now recommends for regular desktop users and gets features at the same cadence as Firefox. Renamed references in: * meta/flatpak.txt - the package list the user installs from * meta/base.txt - comment in the mail-bits section * dot_config/sway/config - window-match app_id rule for marking * dot_config/mimeapps.list - mailto/ics/webcal handler .desktop names * run_onchange_after_deploy-thunderbird.sh.tmpl - profile path under ~/.var/app//.thunderbird/ * run_onchange_after_deploy-tb-eer.sh.tmpl - flatpak override target and sandbox path for External Editor Revived bridge * run_onchange_after_deploy-pteid-pkcs11.sh.tmpl - Mozilla-family flatpak NSS DB registration list * README.md - doc snippets and xdg-mime example On-host migration: flatpak install -y flathub org.mozilla.thunderbird # Preserve accounts, OpenPGP keys, calendars, EER bridge wrapper: mv ~/.var/app/org.mozilla.Thunderbird ~/.var/app/org.mozilla.thunderbird flatpak uninstall -y org.mozilla.Thunderbird chezmoi apply -v update-desktop-database ~/.local/share/applications 2>/dev/null || true Verify mail handler: xdg-mime query default x-scheme-handler/mailto # -> org.mozilla.thunderbird.desktop --- README.md | 6 +++--- dot_config/mimeapps.list | 22 +++++++++++----------- dot_config/sway/config | 2 +- meta/base.txt | 2 +- meta/flatpak.txt | 2 +- run_onchange_after_deploy-pteid-pkcs11.sh.tmpl | 2 +- run_onchange_after_deploy-tb-eer.sh.tmpl | 4 ++-- run_onchange_after_deploy-thunderbird.sh.tmpl | 2 +- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 453af2b..2ff70c3 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ My Arch Linux configuration, managed with [chezmoi](https://www.chezmoi.io/). | Notifications | [mako](https://github.com/emersion/mako) | | Lock screen | [swaylock](https://github.com/swaywm/swaylock) | | Browser | [LibreWolf](https://librewolf.net/) (Flathub `io.gitlab.librewolf-community` for bubblewrap host-isolation), hardened via `user-overrides.js` + `userChrome.css` (kept under `firefox/` by name for recognizability) | -| Mail | [Thunderbird](https://www.thunderbird.net/) (Flathub `org.mozilla.Thunderbird`) against [ProtonMail Bridge](https://proton.me/mail/bridge) + Radicale (CalDAV/CardDAV); non-private prefs tracked under `thunderbird/` | +| Mail | [Thunderbird](https://www.thunderbird.net/) (Flathub `org.mozilla.thunderbird`) against [ProtonMail Bridge](https://proton.me/mail/bridge) + Radicale (CalDAV/CardDAV); non-private prefs tracked under `thunderbird/` | | Secrets & identity | [GPG](https://gnupg.org/) (commit signing + SSH auth via gpg-agent), [pass](https://www.passwordstore.org/) | | Media & viewers | [mpv](https://mpv.io/) (native for streamlink/IPC + Flathub `io.mpv.Mpv` as the sandboxed default for browser/mail handoffs), [zathura](https://pwmt.org/projects/zathura/) (Flathub `org.pwmt.zathura`), [yazi](https://yazi-rs.github.io/) | | Code quality | stylua + [selene](https://github.com/Kampfkarren/selene), [shfmt](https://github.com/mvdan/sh) + [shellcheck](https://www.shellcheck.net/), [ruff](https://github.com/astral-sh/ruff), [taplo](https://taplo.tamasfe.dev/), [prettier](https://prettier.io/) — all wired through `just check` | @@ -156,10 +156,10 @@ The repo is enough to rebuild a machine's tooling and configuration, but not its - `~/.password-store/` — the `pass` store that feeds API keys/tokens into the shell at login. - SSH private keys under `~/.ssh/id_*` (only `.pub` / config is in the repo). - LibreWolf profile data (bookmarks, history, extension state) at `~/.var/app/io.gitlab.librewolf-community/.librewolf/` — only the hardening policy lives in `firefox/`. -- Thunderbird profile data (accounts, calendars, OpenPGP keys) at `~/.var/app/org.mozilla.Thunderbird/.thunderbird/` — only non-private prefs live in `thunderbird/`. +- Thunderbird profile data (accounts, calendars, OpenPGP keys) at `~/.var/app/org.mozilla.thunderbird/.thunderbird/` — only non-private prefs live in `thunderbird/`. Recovery on a fresh install: run `bootstrap.sh`, then `gpg --import` + `pass init `, restore `~/.password-store/`, drop SSH private keys into `~/.ssh/`, restore the LibreWolf and Thunderbird profiles, and run once: ```sh -xdg-mime default org.mozilla.Thunderbird.desktop x-scheme-handler/mailto +xdg-mime default org.mozilla.thunderbird.desktop x-scheme-handler/mailto ``` diff --git a/dot_config/mimeapps.list b/dot_config/mimeapps.list index 1bacc77..b8e8db7 100644 --- a/dot_config/mimeapps.list +++ b/dot_config/mimeapps.list @@ -75,7 +75,7 @@ application/pdf=org.pwmt.zathura.desktop application/postscript=org.pwmt.zathura.desktop application/rss+xml=rss.desktop x-scheme-handler/magnet=transmission.desktop -x-scheme-handler/mailto=org.mozilla.Thunderbird.desktop +x-scheme-handler/mailto=org.mozilla.thunderbird.desktop application/msword-template=xdot.desktop x-scheme-handler/http=io.gitlab.librewolf-community.desktop x-scheme-handler/https=io.gitlab.librewolf-community.desktop @@ -87,12 +87,12 @@ application/x-extension-shtml=io.gitlab.librewolf-community.desktop application/xhtml+xml=io.gitlab.librewolf-community.desktop application/x-extension-xhtml=io.gitlab.librewolf-community.desktop application/x-extension-xht=io.gitlab.librewolf-community.desktop -message/rfc822=org.mozilla.Thunderbird.desktop -x-scheme-handler/mid=org.mozilla.Thunderbird.desktop -x-scheme-handler/webcal=org.mozilla.Thunderbird.desktop -text/calendar=org.mozilla.Thunderbird.desktop -application/x-extension-ics=org.mozilla.Thunderbird.desktop -x-scheme-handler/webcals=org.mozilla.Thunderbird.desktop +message/rfc822=org.mozilla.thunderbird.desktop +x-scheme-handler/mid=org.mozilla.thunderbird.desktop +x-scheme-handler/webcal=org.mozilla.thunderbird.desktop +text/calendar=org.mozilla.thunderbird.desktop +application/x-extension-ics=org.mozilla.thunderbird.desktop +x-scheme-handler/webcals=org.mozilla.thunderbird.desktop x-scheme-handler/msteams=teams-xsight.desktop [Added Associations] @@ -106,8 +106,8 @@ application/x-extension-shtml=io.gitlab.librewolf-community.desktop; application/xhtml+xml=io.gitlab.librewolf-community.desktop; application/x-extension-xhtml=io.gitlab.librewolf-community.desktop; application/x-extension-xht=io.gitlab.librewolf-community.desktop; -x-scheme-handler/mailto=org.mozilla.Thunderbird.desktop; -x-scheme-handler/mid=org.mozilla.Thunderbird.desktop; -x-scheme-handler/webcal=org.mozilla.Thunderbird.desktop; -x-scheme-handler/webcals=org.mozilla.Thunderbird.desktop; +x-scheme-handler/mailto=org.mozilla.thunderbird.desktop; +x-scheme-handler/mid=org.mozilla.thunderbird.desktop; +x-scheme-handler/webcal=org.mozilla.thunderbird.desktop; +x-scheme-handler/webcals=org.mozilla.thunderbird.desktop; x-scheme-handler/msteams=teams-xsight.desktop; diff --git a/dot_config/sway/config b/dot_config/sway/config index 48e5993..bfdfed1 100644 --- a/dot_config/sway/config +++ b/dot_config/sway/config @@ -50,7 +50,7 @@ for_window [class="feh"] floating enable for_window [app_id="imv"] floating enable for_window [app_id="floating"] floating enable for_window [class="Tor Browser"] floating enable -for_window [app_id="org.mozilla.Thunderbird" title=".*Mozilla Thunderbird$"] mark --add tb-main +for_window [app_id="org.mozilla.thunderbird" title=".*Mozilla Thunderbird$"] mark --add tb-main for_window [shell=".*"] inhibit_idle fullscreen # virt-viewer / virt-manager grab the Mod key via the keyboard-shortcuts-inhibit diff --git a/meta/base.txt b/meta/base.txt index 1f7cdd8..d22dc9c 100644 --- a/meta/base.txt +++ b/meta/base.txt @@ -189,7 +189,7 @@ wl-mirror # hardening overlay deployed by run_onchange_after_deploy-firefox.sh.tmpl) --- arkenfox-user.js -# --- mail (host-side bits the org.mozilla.Thunderbird flatpak depends on) --- +# --- mail (host-side bits the org.mozilla.thunderbird flatpak depends on) --- protonmail-bridge-core # git send-email Perl prereqs (SMTP via local Bridge on 127.0.0.1:1025) perl-authen-sasl diff --git a/meta/flatpak.txt b/meta/flatpak.txt index e63dfab..c94293a 100644 --- a/meta/flatpak.txt +++ b/meta/flatpak.txt @@ -13,7 +13,7 @@ io.github.ungoogled_software.ungoogled_chromium io.mpv.Mpv org.kde.okular org.libreoffice.LibreOffice -org.mozilla.Thunderbird +org.mozilla.thunderbird org.pwmt.zathura org.signal.Signal org.torproject.torbrowser-launcher diff --git a/run_onchange_after_deploy-pteid-pkcs11.sh.tmpl b/run_onchange_after_deploy-pteid-pkcs11.sh.tmpl index 13db657..10ebcd2 100644 --- a/run_onchange_after_deploy-pteid-pkcs11.sh.tmpl +++ b/run_onchange_after_deploy-pteid-pkcs11.sh.tmpl @@ -62,7 +62,7 @@ register_in_profile() { # Each line: MOZILLA_APPS="\ io.gitlab.librewolf-community .librewolf librewolf -org.mozilla.Thunderbird .thunderbird thunderbird" +org.mozilla.thunderbird .thunderbird thunderbird" echo "$MOZILLA_APPS" | while IFS=' ' read -r app profile_subdir proc_name; do [ -n "$app" ] || continue diff --git a/run_onchange_after_deploy-tb-eer.sh.tmpl b/run_onchange_after_deploy-tb-eer.sh.tmpl index 3622e67..6a7690e 100644 --- a/run_onchange_after_deploy-tb-eer.sh.tmpl +++ b/run_onchange_after_deploy-tb-eer.sh.tmpl @@ -1,6 +1,6 @@ #!/bin/sh # Bridge the External Editor Revived native messaging host into the -# org.mozilla.Thunderbird flatpak. The host binary stays installed via +# org.mozilla.thunderbird flatpak. The host binary stays installed via # pacman (`external-editor-revived`); we relocate the manifest into the # sandbox and replace its binary path with a wrapper that re-enters the # host via flatpak-spawn. @@ -11,7 +11,7 @@ # host manifest hash: {{ output "sh" "-c" "for p in /usr/lib/mozilla/native-messaging-hosts/external_editor_revived.json /usr/lib/thunderbird/native-messaging-hosts/external_editor_revived.json; do [ -f \"$p\" ] && sha256sum \"$p\" && break; done; true" | sha256sum }} set -eu -TB_APP=org.mozilla.Thunderbird +TB_APP=org.mozilla.thunderbird MANIFEST_NAME=external_editor_revived.json WRAPPER_NAME=external_editor_revived.sh HOST_BINARY=/usr/lib/external-editor-revived/external-editor-revived diff --git a/run_onchange_after_deploy-thunderbird.sh.tmpl b/run_onchange_after_deploy-thunderbird.sh.tmpl index 2b86f49..8837ab6 100644 --- a/run_onchange_after_deploy-thunderbird.sh.tmpl +++ b/run_onchange_after_deploy-thunderbird.sh.tmpl @@ -4,7 +4,7 @@ # thunderbird/ content hash: {{ output "sh" "-c" (printf "cd %q && find thunderbird -type f -exec sha256sum {} + | LC_ALL=C sort" .chezmoi.sourceDir) | sha256sum }} set -eu -PROFILES_DIR="$HOME/.var/app/org.mozilla.Thunderbird/.thunderbird" +PROFILES_DIR="$HOME/.var/app/org.mozilla.thunderbird/.thunderbird" [ -d "$PROFILES_DIR" ] || exit 0 PROFILE=$(find "$PROFILES_DIR" -maxdepth 1 -mindepth 1 -type d -name '*.default-default' | head -1) -- cgit v1.3.1