id = "nmail" name = "nmail" homepage = "https://github.com/d99kris/nmail" description = "Terminal-based email client for Linux and macOS." executables = ["nmail"] platforms = ["macos", "linux"] [dotfiles] # The project's official README lists these configuration files under # ~/.config/nmail. The cache/mail database is state and is not included. paths = [ "[configHome]/nmail/main.conf", "[configHome]/nmail/ui.conf", "[configHome]/nmail/key.conf", "[configHome]/nmail/colors.conf", "[configHome]/nmail/signature.txt", "[configHome]/nmail/signature.html", ] exclude = [] # auth.conf holds a custom OAuth client ID/secret, and secret.conf may hold the # saved account password. The README documents both as credentials rather than # ordinary UI configuration. secret = [ "[configHome]/nmail/auth.conf", "[configHome]/nmail/secret.conf", ] [commands] format = 1 label = "Run nmail" description = "Start nmail with a few common startup options. Cache encryption, key dump, password change and read-only shadow mode are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "readme" kind = "help" url = "https://raw.githubusercontent.com/d99kris/nmail/HEAD/README.md" revision = "2026-10-27" evidence = """ -d, --confdir use a different directory than ~/.config/nmail -e, --verbose enable verbose logging -o, --offline run in offline mode -s, --setup setup wizard for specified service, supported services: gmail, gmail-oauth2, icloud, outlook, outlook-oauth2 -x, --export export cache to specified dir in Maildir format """ [[commands.field]] id = "confdir" label = "Config directory" description = "Use a different directory than ~/.config/nmail." type = "path" option = ["--confdir", "-d"] path = { kind = "directory", role = "input" } sources = ["readme"] [[commands.field]] id = "verbose" label = "Verbose logging" type = "boolean" option = ["--verbose", "-e"] sources = ["readme"] [[commands.field]] id = "offline" label = "Offline mode" type = "boolean" option = ["--offline", "-o"] sources = ["readme"] [[commands.field]] id = "setup" label = "Setup wizard for service" type = "enum" option = ["--setup", "-s"] choices = [{ value = "gmail", label = "Gmail" }, { value = "gmail-oauth2", label = "Gmail (OAuth2)" }, { value = "icloud", label = "iCloud" }, { value = "outlook", label = "Outlook" }, { value = "outlook-oauth2", label = "Outlook (OAuth2)" }] sources = ["readme"] [[commands.field]] id = "export" label = "Export cache to Maildir" type = "path" option = ["--export", "-x"] path = { kind = "directory", role = "output" } effect = "overwrite" sources = ["readme"] [[commands.task]] id = "setup" label = "Set up an account" fields = ["setup"] required = ["setup"] [[commands.task]] id = "offline" label = "Read offline" fields = ["offline"] required = [] set = { offline = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["setup", "offline", "verbose"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["confdir", "export"]