📄 configuration.md

← Vault

Himalaya Configuration Reference

Configuration file location: ~/.config/himalaya/config.toml

Minimal IMAP + SMTP Setup

`toml

[accounts.default]

email = "user@example.com"

display-name = "Your Name"

default = true

IMAP backend for reading emails

backend.type = "imap"

backend.host = "imap.example.com"

backend.port = 993

backend.encryption.type = "tls"

backend.login = "user@example.com"

backend.auth.type = "password"

backend.auth.raw = "your-password"

SMTP backend for sending emails

message.send.backend.type = "smtp"

message.send.backend.host = "smtp.example.com"

message.send.backend.port = 587

message.send.backend.encryption.type = "start-tls"

message.send.backend.login = "user@example.com"

message.send.backend.auth.type = "password"

message.send.backend.auth.raw = "your-password"

`

Password Options

Raw password (testing only, not recommended)

`toml

backend.auth.raw = "your-password"

`

Password from command (recommended)

`toml

backend.auth.cmd = "pass show email/imap"

backend.auth.cmd = "security find-generic-password -a user@example.com -s imap -w"

`

System keyring (requires keyring feature)

`toml

backend.auth.keyring = "imap-example"

`

Then run himalaya account configure to store the password.

Gmail Configuration

`toml

[accounts.gmail]

email = "you@gmail.com"

display-name = "Your Name"

default = true

backend.type = "imap"

backend.host = "imap.gmail.com"

backend.port = 993

backend.encryption.type = "tls"

backend.login = "you@gmail.com"

backend.auth.type = "password"

backend.auth.cmd = "pass show google/app-password"

message.send.backend.type = "smtp"

message.send.backend.host = "smtp.gmail.com"

message.send.backend.port = 587

message.send.backend.encryption.type = "start-tls"

message.send.backend.login = "you@gmail.com"

message.send.backend.auth.type = "password"

message.send.backend.auth.cmd = "pass show google/app-password"

`

Note: Gmail requires an App Password if 2FA is enabled.

iCloud Configuration

`toml

[accounts.icloud]

email = "you@icloud.com"

display-name = "Your Name"

backend.type = "imap"

backend.host = "imap.mail.me.com"

backend.port = 993

backend.encryption.type = "tls"

backend.login = "you@icloud.com"

backend.auth.type = "password"

backend.auth.cmd = "pass show icloud/app-password"

message.send.backend.type = "smtp"

message.send.backend.host = "smtp.mail.me.com"

message.send.backend.port = 587

message.send.backend.encryption.type = "start-tls"

message.send.backend.login = "you@icloud.com"

message.send.backend.auth.type = "password"

message.send.backend.auth.cmd = "pass show icloud/app-password"

`

Note: Generate an app-specific password at appleid.apple.com

Folder Aliases

Map custom folder names:

`toml

[accounts.default.folder.alias]

inbox = "INBOX"

sent = "Sent"

drafts = "Drafts"

trash = "Trash"

`

Multiple Accounts

`toml

[accounts.personal]

email = "personal@example.com"

default = true

... backend config ...

[accounts.work]

email = "work@company.com"

... backend config ...

`

Switch accounts with --account:

`bash

himalaya --account work envelope list

`

Notmuch Backend (local mail)

`toml

[accounts.local]

email = "user@example.com"

backend.type = "notmuch"

backend.db-path = "~/.mail/.notmuch"

`

OAuth2 Authentication (for providers that support it)

`toml

backend.auth.type = "oauth2"

backend.auth.client-id = "your-client-id"

backend.auth.client-secret.cmd = "pass show oauth/client-secret"

backend.auth.access-token.cmd = "pass show oauth/access-token"

backend.auth.refresh-token.cmd = "pass show oauth/refresh-token"

backend.auth.auth-url = "https://provider.com/oauth/authorize"

backend.auth.token-url = "https://provider.com/oauth/token"

`

Additional Options

Signature

`toml

[accounts.default]

signature = "Best regards,\nYour Name"

signature-delim = "-- \n"

`

Downloads directory

`toml

[accounts.default]

downloads-dir = "~/Downloads/himalaya"

`

Editor for composing

Set via environment variable:

`bash

export EDITOR="vim"

`