From: alex Date: Sat, 21 Oct 2023 10:30:49 +0000 (+0200) Subject: Complete mbsync setup X-Git-Tag: 20240214-emacs~192 X-Git-Url: https://xn--ix-yja.es/gitweb/?a=commitdiff_plain;h=65bd013d7700d0a903fc61a6fb57e946dd0786b7;p=alex.git Complete mbsync setup --- diff --git a/scripts/p7s/mail/__init__.py b/scripts/p7s/mail/__init__.py index f5db2d8..ab1c5fa 100644 --- a/scripts/p7s/mail/__init__.py +++ b/scripts/p7s/mail/__init__.py @@ -1,4 +1,6 @@ import pathlib +import subprocess +import textwrap from p7s import bitwarden from p7s.mail import mbsync @@ -12,3 +14,32 @@ def generate_config(): "\n" + mbsync.mbsync_yahoo(yahoo["username"], yahoo["password"], "~/Mail") ) + + for username in [gmail["username"], yahoo["username"]]: + (pathlib.Path.home() / "Mail" / username).mkdir(exist_ok=True, parents=True) + + user_units = pathlib.Path.home() / ".config" / "systemd" / "user" + user_units.mkdir(exist_ok=True, parents=True) + (user_units / "mbsync.service").write_text(textwrap.dedent(""" + [Unit] + Description=Mail synchronization + + [Service] + ExecStart=/usr/bin/mbsync -qa + """).lstrip()) + + (user_units / "mbsync.timer").write_text(textwrap.dedent(""" + [Unit] + Description=Mail synchronization + + [Install] + WantedBy=timers.target + + [Timer] + OnBootSec=1m + OnActiveSec=0s + OnUnitInactiveSec=30s + Unit=mbsync.service + """).lstrip()) + + subprocess.run(["systemctl", "--user", "enable", "--now", "mbsync.timer"], check=True)