From 65bd013d7700d0a903fc61a6fb57e946dd0786b7 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 21 Oct 2023 12:30:49 +0200 Subject: [PATCH] Complete mbsync setup --- scripts/p7s/mail/__init__.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) 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) -- 2.47.3