Installation

Arch Linux

Himalaya CLI can be installed on Arch Linux with either the community repository:

$ pacman -S himalaya

or the user repository:

$ git clone https://aur.archlinux.org/himalaya-git.git
$ cd himalaya-git
$ makepkg -isc

If you use yay, it is even simplier:

$ yay -S himalaya-git

Homebrew

Himalaya CLI can be installed with Homebrew:

$ brew install himalaya

Scoop

Himalaya CLI can be installed with Scoop:

$ scoop install himalaya

Cargo

Himalaya CLI can be installed with cargo:

$ cargo install himalaya

You can also use the git repository for a more up-to-date (but less stable) version:

$ cargo install --git https://github.com/soywod/himalaya himalaya

Himalaya CLI comes with few default features:

  • imap: enables IMAP backend features
  • maildir: enables Maildir backend features
  • smtp: enables SMTP backend features
  • sendmail: enables sendmail backend features
  • account-sync: enables account synchronization (including folders and emails)
  • account-discovery: enables account auto discovery for the wizard

There is also other optional features:

  • notmuch: enables notmuch backend features (requires the notmuch lib to be installed on the system)
  • pgp-commands enables the PGP shell commands backend
  • pgp-gpg enables the GPG PGP backend (requires the gpgme lib to be installed on the system)
  • pgp-native enables the native PGP backend

Nix

Himalaya CLI can be installed with Nix:

$ nix-env -i himalaya

You can also use the git repository for a more up-to-date (but less stable) version:

$ nix-env -if https://github.com/soywod/himalaya/archive/master.tar.gz

# or, from within the source tree checkout
$ nix-env -if .

If you have the Flakes feature enabled:

$ nix profile install himalaya

# or, from within the source tree checkout
$ nix profile install

# you can also run Himalaya directly without installing it:
$ nix run himalaya

Development

To enter a development shell:

$ nix-shell

# or, with the Flakes feature enabled
$ nix develop

From here, you have access to all the development tools (Rust compiler, cargo, rust language server, code formatter…) necessary to hack on Himalaya.

If you use VSCode, simply open this project folder and accept the workspace extension recommendations.

Troubleshooting

  • See this discussion if you get the hash mismatch in fixed-output derivation error.

Fedora Linux/CentOS/RHEL

Himalaya CLI can be installed on Fedora Linux/CentOS/RHEL via COPR repo:

$ dnf copr enable atim/himalaya
$ dnf install himalaya

Binary

Himalaya CLI can be installed with a prebuilt binary:

# As root:
$ curl -sSL https://pimalaya.org/himalaya/cli/install.sh | sudo sh

# As a regular user:
$ curl -sSL https://pimalaya.org/himalaya/cli/install.sh | PREFIX=~/.local sh

Those commands install the latest binary from the GitHub releases section.

Note: Linux, macOS and Windows are supported. Note that some features may not work as expected on Windows.

Sources

Himalaya CLI can be installed from sources.

First you need to install the Rust development environment (see the rust installation documentation):

$ curl https://sh.rustup.rs -sSf | sh

Then, you need to clone the repository and install dependencies:

$ git clone https://github.com/soywod/himalaya.git
$ cd himalaya
$ cargo check

Now, you can build Himalaya:

$ cargo build --release

Note: binaries are available in the target/release folder.

Troubleshooting

Could not compile autocfg

On aarch64, compiling autocfg will exhaust all available memory and rustcc will be killed by OS. You need to update llvm-libs to the latest version to solve this problem. This is a llvm bug.