{ pkgs, config, ... }: { environment.systemPackages = with pkgs; [ isync ]; systemd.services.isync = let mbsyncrc = pkgs.writeText "mbsyncrc" (import ./mbsyncrc.nix { maildir = "${config.users.users.qyliss.home}/mail"; }); in { serviceConfig = { Type = "oneshot"; User = "qyliss-mail"; ExecStart = '' ${pkgs.isync}/bin/mbsync -a -c ${mbsyncrc} ''; }; }; systemd.timers.isync = { timerConfig = { Unit = "isync.service"; OnCalendar = "*:0/5"; Persistent = "true"; }; wantedBy = [ "multi-user.target" ]; }; }