Introduction

In the era of information overload, staying updated without drowning in a sea of browser tabs is a challenge. To solve this, I built a custom, self-hosted RSS Digest Agent. The system operates on a headless NixOS server, leveraging Miniflux for feed management, PostgreSQL for data persistence, and the Gemini CLI for intelligent summarization. The final product is delivered as a beautifully formatted HTML email via msmtp.

The Tech Stack

The architecture is built on three main pillars:

  1. Data Ingress: A self-hosted Miniflux instance that aggregates feeds.
  2. Intelligence: Gemini CLI (running version 0.37.0), which processes raw article content and synthesizes it into topical summaries.
  3. Infrastructure: NixOS and Systemd, ensuring the agent runs reliably as a scheduled service with strict security sandboxing.

How It Works

The agent follows a deterministic lifecycle every morning:

Security & Resilience

To maintain the integrity of the server, the service runs as a DynamicUser with ProtectSystem=strict enabled. Secrets (like SMTP credentials) are managed via a GPG-encrypted password store and injected into the service at runtime using Systemd’s LoadCredential feature.

Result

Figure 1: Screenshot of how the mail looks like in the inbox. Just headers of arxiv papers and links to them

This article was auto-generated and refined by Gemini CLI.

Prompts: