First run
This page writes a first config.toml with one mail account and one chat account, then checks it with tcli and opens tt.
1. Make the file
Section titled “1. Make the file”Tilde reads config.toml from its folder, ~/.config/tilde (under $XDG_CONFIG_HOME when it is set, and %APPDATA%\tilde on Windows). Tilde does not make the folder or the file.
mkdir -p ~/.config/tildeOn Windows, in PowerShell:
mkdir "$env:APPDATA\tilde"Open ~/.config/tilde/config.toml in an editor and write this, with the values of your own servers. Replace pass show mail/work with a command that prints your password, or with ${NAME} for an environment variable: see What the keys mean.
[[accounts.mail]]id = "work"name = "Work"address = "ada@example.org"display_name = "Ada Lovelace"
[accounts.mail.store]protocol = "imap"username = "ada@example.org"password = "#{pass show mail/work}"
[accounts.mail.store.settings]host = "imap.example.org"port = 993
[accounts.mail.transport]protocol = "smtp"username = "ada@example.org"password = "#{pass show mail/work}"
[accounts.mail.transport.settings]host = "smtp.example.org"port = 587
[[accounts.chat]]id = "irc"name = "IRC"
[accounts.chat.connection]protocol = "irc"username = "ada"
[accounts.chat.connection.settings]host = "irc.example.org"channels = "#tilde"What the keys mean
Section titled “What the keys mean”idnames the account for commands such astcli send email --account work.nameis the label. Each id is used once per kind.- A mail account has a
store(reads mail) and atransport(sends it).protocolsays which plugin handles it. A store can also bemaildir, a Maildir on disk. - Do not write a password in the file.
#{command}runs the command and uses what it prints.${NAME}reads an environment variable. securityisautowhen it is not set: the connection is always encrypted, so the password never goes out in the clear. For mail the encryption follows the port.none,starttlsandtlsare the other values; IRC has nostarttls.- On IRC,
usernameis the nick andchannelsis a comma-separated list that is joined at every connect.
All the keys are on Mail accounts and Chat accounts.
2. Check the file
Section titled “2. Check the file”tcli checktcli check reads the file and creates every part of every account: the mail store, the mail transport and the chat client. It connects to nothing.
┌─────────┬────────────────┬──────────┬────────┐│ Account │ Part │ Protocol │ Result │├─────────┼────────────────┼──────────┼────────┤│ work │ mail store │ imap │ ok ││ work │ mail transport │ smtp │ ok ││ irc │ chat │ irc │ ok │└─────────┴────────────────┴──────────┴────────┘3 of 3 parts are fine.The exit code is 0 when every part is fine and 1 when not. A mistake in the file is listed first, with its line: a key that does not exist (nmae), a section that no plugin reads, a value of the wrong type, a #{command} that failed. tcli accounts lists the accounts, and tcli --config <path> check reads another folder or another config.toml.
3. Check the servers
Section titled “3. Check the servers”tcli check --connectThis also logs in to every server, with 15 seconds for each. A part that works shows connected in 0.42 s. A part that fails shows why, for example Name or service not known for a host that does not exist. Fix the line in config.toml and run it again.
4. Open tt
Section titled “4. Open tt”tttt shows the mail accounts of the file in a tree on the left and the messages of the selected one on the right. It does not show chat accounts yet. A Windows terminal is not supported yet. :q quits. tt --demo shows made-up accounts and messages instead of the accounts of the file.
Next: open tt step by step, or read about tcli check. The details of the commands are in the README of tcli.