pimalaya / himalaya
CLI to manage emails
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing pimalaya/himalaya in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler view📫 Himalaya CLI to manage emails Table of contents • Features • Installation • Pre-built binary • Cargo • Arch linux • Homebrew • Scoop • Fedora Linux/CentOS/RHEL • Nix • Sources • Configuration • Proton Mail • Gmail • Outlook • iCloud Mail • Interfaces • FAQ • Social • Sponsoring Features • Multi-accounting configuration: • interactive via **wizard** (requires feature) • manual via **TOML**-based configuration file (see ) • Message composition based on • **IMAP** backend (requires feature) • **Maildir** backend (requires feature) • **Notmuch** backend (requires feature) • **SMTP** backend (requires feature) • **Sendmail** backend (requires feature) • Global system **keyring** for secret management (requires feature) • **OAuth 2.0** authorization flow (requires feature) • **JSON** output via • **PGP** encryption: • via shell commands (requires feature) • via GPG bindings (requires feature) • via native implementation (requires feature) *Himalaya CLI is written in Rust, and relies on cargo features to enable or disable functionalities. Default features can be found in the section of the , or on docs.rs.* Installation Pre-built binary Himalaya CLI can be installed with the installer: *As root:* *As a regular user:* These commands install the latest binary from the GitHub releases section. If you want a more up-to-date version than the latest release, check out the releases GitHub workflow and look for the *Artifacts* section. You will find a pre-built binary matching your OS. These pre-built binaries are built from the branch. *Such binaries are built with the default cargo features. If you need more features, please use another installation method.* Cargo Himalaya CLI can be installed with cargo: With only IMAP support: You can also use the git repository for a more up-to-date (but less stable) version: Arch Linux Himalaya CLI can be installed on Arch Linux with either the community repository: or the user repository: If you use yay, it is even simplier: Homebrew Himalaya CLI can be installed with Homebrew: Note: cargo features are not compatible with brew. If you need features like OAuth 2.0, please use a different installation method. Scoop Himalaya CLI can be installed with Scoop: Fedora Linux/CentOS/RHEL Himalaya CLI can be installed on Fedora Linux/CentOS/RHEL via COPR repo: Nix Himalaya CLI can be installed with Nix: You can also use the git repository for a more up-to-date (but less stable) version: *Or, from within the source tree checkout:* If you have the Flakes feature enabled: *Or, from within the source tree checkout:* *You can also run Himalaya directly without installing it:* Sources Himalaya CLI can be installed from sources. First you need to install the Rust development environment (see the rust installation documentation): Then, you need to clone the repository and install dependencies: Now, you can build Himalaya: *Binaries are available under the folder.* Configuration Just run , the wizard will help you to configure your default account. Accounts can be (re)configured via the wizard using the command . You can also manually edit your own configuration, from scratch: • Copy the content of the documented • Paste it in a new file • Edit, then comment or uncomment the options you want Proton Mail When using Proton Bridge, emails are synchronized locally and exposed via a local IMAP/SMTP server. This implies 2 things: • Id order may be reversed or shuffled, but envelopes will still be sorted by date. • SSL/TLS needs to be deactivated manually. • The password to use is the one generated by Proton Bridge, not the one from your Proton Mail account. If you still want to use TLS, you need to export the certificate generated by Proton Bridge, then give it to Himalaya: Keeping your password inside the configuration file is good for testing purpose, but it is not safe. You have 2 better alternatives: • Save your password in any password manager that can be queried via the CLI: • Use the global keyring of your system (requires the cargo feature): Running will ask for your IMAP password, just paste the one generated previously. Gmail Google passwords cannot be used directly. There is two ways to authenticate yourself: Using App Passwords This option is the simplest and the fastest. First, be sure that: • IMAP is enabled • Two-step authentication is enabled • Less secure app access is enabled First create a dedicated password for Himalaya. Keeping your password inside the configuration file is good for testing purpose, but it is not safe. You have 2 better alternatives: • Save your password in any password manager that can be queried via the CLI: • Use the global keyring of your system (requires the cargo feature): Running will ask for your IMAP password, just paste the one generated previously. Using OAuth 2.0 This option is the most secure but the hardest to configure. It requires the and cargo features. First, you need to get your OAuth 2.0 credentials by following this guide. Once you get your client id and your client secret, you can configure your Himalaya account this way: Running will complete your OAuth 2.0 setup and ask for your client secret. Outlook Keeping your password inside the configuration file is good for testing purpose, but it is not safe. You have 2 better alternatives: • Save your password in any password manager that can be queried via the CLI: • Use the global keyring of your system (requires the cargo feature): Running will ask for your IMAP password, just paste the one generated previously. Using OAuth 2.0 This option is the most secure but the hardest to configure. First, you need to get your OAuth 2.0 credentials by following this guide. Once you get your client id and your client secret, you can configure your Himalaya account this way: Running will complete your OAuth 2.0 setup and ask for your client secret. iCloud Mail From the iCloud Mail support page: • IMAP port = . • IMAP logi…