Update README with new instructions for protonmail-bridge

Remove davmail from installed packages, just run with nix if/when
needed manually
This commit is contained in:
Evie Litherland-Smith 2024-02-03 06:32:57 +00:00
parent db519c6398
commit ddde145313
2 changed files with 26 additions and 27 deletions

View file

@ -1,45 +1,45 @@
#+title: README #+title: README
#+author: Evie Litherland-Smith #+author: Evie Litherland-Smith
#+email: evie@xenia.me.uk #+email: evie@xenia.me.uk
* Password store setup * Password store setup
** Transfer GPG key(s) ** Transfer GPG key(s)
#+begin_src bash #+begin_src bash
# Export key on existing machine # Export key on existing machine
gpg --export-secret-keys > key.gpg gpg --export-secret-keys > key.gpg
# Import key on new machine # Import key on new machine
gpg --import key.gpg gpg --import key.gpg
# Edit (for each key) to set trust # Edit (for each key) to set trust
gpg --edit-key ... gpg --edit-key ...
#+end_src #+end_src
** Clone password-store repository ** Clone password-store repository
#+begin_src bash #+begin_src bash
git clone https://git.xenia.me.uk/xenia/pass $PASSWORD_STORE_DIR git clone https://git.xenia.me.uk/xenia/pass $PASSWORD_STORE_DIR
#+end_src #+end_src
* Email setup * Email setup
** Proton ** Proton
*** Bridge *** Bridge
Docker source: [[https://hub.docker.com/r/shenxn/protonmail-bridge][Docker]] / [[https://github.com/shenxn/protonmail-bridge-docker][GitHub - shenxn/protonmail-bridge-docker: ProtonMail IMAP/SMTP Bridge Docker ...]] Run bridge in CLI mode to login, wait for initial sync and get app password
To initialise:
#+begin_src bash #+begin_src bash
podman kill protonmail-bridge && podman run --rm -it -v protonmail:/root shenxn/protonmail-bridge init nix run nixpkgs#protonmail-bridge -- -c
# Restart so that service picks up available ports # Follow prompts to login and get password
podman kill protonmail-bridge #+end_src
Restart ~systemd~ service:
#+begin_src bash
systemctl --user restart protonmail-bridge.service
#+end_src #+end_src
and follow normal login system for cli.
systemd unit handles running container on boot after this.
**** uidvalidity issue **** uidvalidity issue
Remove uid lines from .mbsyncrc (in each mail directory) and delete .uidvalidity, re-run mbsync to fix +Remove uid lines from .mbsyncrc (in each mail directory) and delete .uidvalidity, re-run mbsync to fix+
Above might be duplicating mail, faster to just delete local maildirs and let them re-sync.
*** Password *** Password
Get password from protonmail-bridge, save to password-store: Get password from ~protonmail-bridge~, save to ~password-store~:
#+begin_src bash #+begin_src bash
pass insert mbsync/$(hostname)/proton pass insert mbsync/$(hostname)/proton
# Insert pass at prompt # Insert pass at prompt
#+end_src #+end_src
** iCloud ** iCloud
*** Password *** Password
If not already done, save password to password-store: If not already done, save password to ~password-store~:
#+begin_src bash #+begin_src bash
pass insert mbsync/$(hostname)/icloud pass insert mbsync/$(hostname)/icloud
# Insert pass at prompt # Insert pass at prompt
@ -47,7 +47,7 @@ If not already done, save password to password-store:
This will be synced across devices so only needs doing once This will be synced across devices so only needs doing once
** Outlook ** Outlook
*** Password *** Password
If not already done, save password to password-store: If not already done, save password to ~password-store~:
#+begin_src bash #+begin_src bash
pass insert mbsync/$(hostname)/outlook pass insert mbsync/$(hostname)/outlook
# Insert pass at prompt # Insert pass at prompt
@ -56,10 +56,10 @@ This will be synced across devices so only needs doing once
*** Configuration *** Configuration
On first run (or if token expires), stop systemd service and run manually to complete manual auth. Token will stay valid for a little while (no idea how long specifically). On first run (or if token expires), stop systemd service and run manually to complete manual auth. Token will stay valid for a little while (no idea how long specifically).
#+begin_src bash #+begin_src bash
# Restart service to ensure ~/.davmail.properties exists # Restart service to ensure ~/.davmail.properties exists
systemctl --user restart davmail.service systemctl --user restart davmail.service
# Run to use manual authentication # Run to use manual authentication
systemctl --user stop davmail.service && davmail -notray ~/.davmail.properties systemctl --user stop davmail.service && davmail -notray ~/.davmail.properties
# Restart again so that service picks up available ports # Restart again so that service picks up available ports
systemctl --user restart davmail.service systemctl --user restart davmail.service
#+end_src #+end_src

View file

@ -5,7 +5,6 @@
hostName, hostName,
... ...
}: { }: {
home.packages = with pkgs; [davmail];
accounts.email = { accounts.email = {
maildirBasePath = "Mail"; maildirBasePath = "Mail";
accounts = let accounts = let