{ config, options, lib, pkgs, ... }: let muttConfig = config.modules.desktop.apps.mutt; in { options.modules.desktop.apps.mutt = { enable = lib.mkOption { type = lib.types.bool; default = false; }; }; config = lib.mkIf (muttConfig.enable) { home.packages = [ pkgs.neomutt pkgs.isync pkgs.lynx pkgs.mutt-wizard ]; systemd.timers."auto-mailsync" = { wantedBy = [ "timers.target" ]; timerConfig = { OnBootSec = "10m"; OnUnitActiveSec = "10m"; Unit = "auto-mailsync.service"; }; }; systemd.services."auto-mailsync" = { script = '' set -eu /run/current-system/sw/bin/bash -l -c '${pkgs.mutt-wizard}/bin/mailsync -Y' ''; serviceConfig = { Type = "oneshot"; User = "jon"; }; }; }; }