Configuration Reference
minizen reads its configuration from a TOML file (default ~/.config/minizen/config.toml)
and secrets from environment variables.
Config file
[ai]
model = "anthropic:claude-haiku-4-5"
top_n = 5
[miniflux]
url = "https://reader.miniflux.app"
[email]
smtp_host = "smtp.gmail.com"
smtp_port = 587
from_addr = "you@example.com"
to_addr = "you@example.com"
[ai] section
| Key | Type | Default | Description |
|---|---|---|---|
model |
string | "anthropic:claude-haiku-4-5" |
pydantic-ai model identifier |
top_n |
integer | 5 |
Number of articles selected for full AI summaries; remaining recent articles appear as a "More to read" link list |
max_words_per_article |
integer | 500 |
Maximum words of article content sent to the LLM per article. Increase for longer summaries, decrease to reduce token usage. |
Supported models
minizen uses pydantic-ai for LLM integration. Any provider it supports works:
| Provider | Example model value |
Required env var |
|---|---|---|
| Anthropic | anthropic:claude-haiku-4-5 |
ANTHROPIC_API_KEY |
| OpenAI | openai:gpt-4o-mini |
OPENAI_API_KEY |
[miniflux] section
| Key | Type | Default | Description |
|---|---|---|---|
url |
string | "https://reader.miniflux.app" |
Base URL of your Miniflux instance (no /v1/ suffix) |
[email] section
| Key | Type | Default | Description |
|---|---|---|---|
smtp_host |
string | — | SMTP server hostname |
smtp_port |
integer | — | SMTP port (typically 587 for STARTTLS) |
from_addr |
string | — | Sender email address |
to_addr |
string | — | Recipient email address |
Environment variables
Secrets are never stored in the config file. Set them in your shell or in
~/.config/minizen/.env (created by minizen setup when run interactively).
| Variable | Purpose |
|---|---|
MINIFLUX_API_KEY |
Miniflux API key for authentication |
ANTHROPIC_API_KEY |
Anthropic API key (if using an Anthropic model) |
OPENAI_API_KEY |
OpenAI API key (if using an OpenAI model) |
MINIZEN_EMAIL_USERNAME |
SMTP login username |
MINIZEN_EMAIL_PASSWORD |
SMTP login password or app password |
Custom config path
The default config path is ~/.config/minizen/config.toml.
Pass a custom path with --config:
Manual setup (without minizen setup)
You can configure minizen entirely by hand — no wizard required.
1. Create the config file
Copy this template to ~/.config/minizen/config.toml and fill in your values:
[miniflux]
url = "https://reader.miniflux.app" # or your self-hosted URL
[email]
smtp_host = "smtp.gmail.com"
smtp_port = 587
from_addr = "you@example.com"
to_addr = "you@example.com"
[ai]
model = "anthropic:claude-haiku-4-5"
top_n = 5
# max_words_per_article = 500 # default: 500
Use minizen config set to update individual values later:
2. Set secrets via .env file
Create ~/.config/minizen/.env (same directory as config.toml):
MINIFLUX_API_KEY=your-miniflux-api-key
ANTHROPIC_API_KEY=your-anthropic-key # or OPENAI_API_KEY
MINIZEN_EMAIL_USERNAME=your-smtp-username
MINIZEN_EMAIL_PASSWORD=your-smtp-app-password
Restrict permissions so only your user can read it:
3. Set secrets via shell rc file
As an alternative to .env, export the variables in your shell profile
(~/.bashrc, ~/.zshrc, or equivalent):
export MINIFLUX_API_KEY="your-miniflux-api-key"
export ANTHROPIC_API_KEY="your-anthropic-key" # or OPENAI_API_KEY
export MINIZEN_EMAIL_USERNAME="your-smtp-username"
export MINIZEN_EMAIL_PASSWORD="your-smtp-app-password"
Reload your shell after editing: source ~/.zshrc (or source ~/.bashrc).
4. Verify the setup
A clean output confirms minizen can read all required values.