···7575{
7676 imports = [
7777 self.inputs.hermes-agent.nixosModules.default
7878+ ../../configs/hermes-mail-vars.nix
7879 ];
79808081 # Hermes Agent (Nous Research) — autonomous agent run as a native systemd
···208209 # one-liner. Trade-off: verbose also prints full JSON args for every other
209210 # tool call, so the channel is chattier.
210211 settings.display.platforms.matrix.tool_progress = "verbose";
212212+213213+ # The EMAIL_* credentials below are for mail-sending skills only. Hermes
214214+ # turns the email gateway on by itself once all four of EMAIL_ADDRESS,
215215+ # EMAIL_PASSWORD, EMAIL_IMAP_HOST and EMAIL_SMTP_HOST are set
216216+ # (gateway/config_env.py); only an explicit `enabled: false` stops that.
217217+ settings.platforms.email.enabled = false;
211218212219 # Teach the agent the herd. Without this the `herdr` wrapper is just an
213220 # unadvertised binary on PATH: nothing in the model's context would make it
···402409 # per-user allowlist here — the bearer token is the whole gate.
403410 API_SERVER_ENABLED = "true";
404411 API_SERVER_PORT = "8642";
412412+413413+ # Mailbox hermes@lassul.us on neoprism (configs/mailserver.nix).
414414+ # EMAIL_PASSWORD comes from the shared hermes-mail var via hermes-env.
415415+ # 993 is implicit-TLS IMAP, 587 is submission with STARTTLS.
416416+ EMAIL_ADDRESS = "hermes@lassul.us";
417417+ EMAIL_IMAP_HOST = "mail.lassul.us";
418418+ EMAIL_IMAP_PORT = "993";
419419+ EMAIL_SMTP_HOST = "mail.lassul.us";
420420+ EMAIL_SMTP_PORT = "587";
405421 };
406422407407- # Secrets (MATRIX_ACCESS_TOKEN + LLAMA_API_TOKEN) come from clan vars below,
423423+ # Secrets (MATRIX_ACCESS_TOKEN, LLAMA_API_TOKEN, API_SERVER_KEY,
424424+ # EMAIL_PASSWORD) come from clan vars below,
408425 # merged into $HERMES_HOME/.env at activation.
409426 environmentFiles = [
410427 config.clan.core.vars.generators.hermes-env.files."hermes.env".path
···576593 "hermes-api"
577594 "radicale-hermes"
578595 "hermes-anthropic"
596596+ "hermes-mail"
579597 ];
580598 files."hermes.env" = { };
581599 runtimeInputs = [ pkgs.coreutils ];
···586604 API_SERVER_KEY=$(cat "$in"/hermes-api/api_key)
587605 CALDAV_PASSWORD=$(cat "$in"/radicale-hermes/password)
588606 ANTHROPIC_TOKEN=$(cat "$in"/hermes-anthropic/oauth-token)
607607+ EMAIL_PASSWORD=$(cat "$in"/hermes-mail/password)
589608 EOF
590609 '';
591610 };