# Himalaya CLI Setup on ZimaOS/CasaOS

Installing the Himalaya email CLI on ZimaOS/CasaOS has quirks not covered by the upstream docs. This reference captures the exact workaround.

## Why the Official Install Script Fails

The Pimalaya install script tries to write to `~/.local/bin`. On ZimaOS:
- `$HOME` resolves to `/DATA` (root-owned)
- `mkdir /DATA/.local` → `Permission denied`
- The install script aborts silently

## Verified Install Method

### 1. Find the correct release asset name

The official docs mention `himalaya-linux-x86_64.tar.gz`, but the actual asset names on GitHub are:
```
himalaya.x86_64-linux.tgz
himalaya.aarch64-linux.tgz
himalaya.armv7l-linux.tgz
```

Discover the exact URL via the GitHub API:
```bash
curl -sL 'https://api.github.com/repos/pimalaya/himalaya/releases/latest' | \
  python3 -c "import sys,json; d=json.load(sys.stdin); [print(a['browser_download_url']) for a in d.get('assets',[])]"
```

### 2. Download and extract

```bash
install_dir="/DATA/AppData/hermes/bin"
curl -sL -o /tmp/himalaya.tgz 'https://github.com/pimalaya/himalaya/releases/download/v1.2.0/himalaya.x86_64-linux.tgz'
tar -xzf /tmp/himalaya.tgz -C /tmp
cp /tmp/himalaya "$install_dir/"
chmod +x "$install_dir/himalaya"
```

### 3. Verify

```bash
/DATA/AppData/hermes/bin/himalaya --version
```

## Config Location

Do NOT use `~/.config/himalaya/config.toml` — ZimaOS's `$HOME` is root-owned. Instead:

```toml
# /DATA/AppData/hermes/himalaya.toml
[accounts.gmx]
email = "amadeus.bot@gmx.at"
display-name = "Kiwi"
default = true

backend.type = "imap"
backend.host = "imap.gmx.net"
backend.port = 993
backend.auth.type = "password"
backend.auth.cmd = "cat /DATA/AppData/.secrets/gmx_email.env | grep GMX_PASSWORD | cut -d= -f2 | tr -d '\\n'"

message.send.backend.type = "smtp"
message.send.backend.host = "mail.gmx.net"
message.send.backend.port = 587
message.send.backend.auth.type = "password"
message.send.backend.auth.cmd = "cat /DATA/AppData/.secrets/gmx_email.env | grep GMX_PASSWORD | cut -d= -f2 | tr -d '\\n'"

folder.aliases.inbox = "INBOX"
folder.aliases.sent = "Sent"
folder.aliases.drafts = "Drafts"
folder.aliases.trash = "Trash"
```

Permissions:
```bash
chmod 600 /DATA/AppData/hermes/himalaya.toml
```

## Running Himalaya Commands

Always point to the custom config and binary:

```bash
export HIMALAYA_CONFIG=/DATA/AppData/hermes/himalaya.toml
/DATA/AppData/hermes/bin/himalaya account list
/DATA/AppData/hermes/bin/himalaya folder list
/DATA/AppData/hermes/bin/himalaya envelope list
```
