nyado – a Rust todo‑list with TUI
nyado is a terminal-based task manager inspired by meowdo.
It supports multiple languages, tags, search, pinning, due dates.

Installation
Choose one of the following methods:
1. From crates.io (requires Rust)
cargo install nyado
This will download and compile the latest version. Language files are built into the binary, but you can override them by placing your own lang_*.toml files in ~/.config/nyado/ (Linux) or %APPDATA%\Local\nyado (Windows).
2. Arch Linux (AUR)
If you are on Arch Linux (or an Arch‑based distribution), you can install one of the AUR packages:
-
Pre‑compiled binary (fast, no compilation):
paru -S nyado-binor
yay -S nyado-bin -
Source – release tarball (compiled from the latest release):
paru -S nyado -
Source – latest git commit (bleeding edge):
paru -S nyado-git
All three packages provide the nyado command and automatically install the required language files.
3. Quick install (binary, no compilation)
curl -sSL https://raw.githubusercontent.com/LeynTheCat/nyado/main/install_bin.sh | bash
This script:
- Detects your CPU architecture (x86_64 or aarch64)
- Downloads the latest pre‑built static binary from GitHub Releases
- Installs it to
~/.local/bin/ - Fetches and installs language files to
~/.config/nyado/(replaces old configs)
4. Build from source (via install script)
curl -sSL https://raw.githubusercontent.com/LeynTheCat/nyado/main/install.sh | bash
The script will:
- Download the latest source code from GitHub
- Install Rust/Cargo automatically (Arch, Debian/Ubuntu, Fedora, openSUSE, or rustup)
- Build nyado in release mode
- Install binary and config files
5. Manual installation (git clone)
git clone https://github.com/LeynTheCat/nyado.git
cd nyado
./install.sh
or without cloning:
cargo install --git https://github.com/LeynTheCat/nyado.git
mkdir -p ~/.config/nyado
cp config/*.toml ~/.config/nyado/
6. Windows (unsupported, but possible)
Compiling for Windows is possible – just run cargo build --release on a Windows machine with Rust installed. However, I do not provide official support for Windows. If you want to run nyado on Windows, place the config/*.toml files into %APPDATA%\Local\nyado and add the directory containing nyado.exe to your PATH environment variable.
Update
- Binary installation: simply run the same quick install command again – it will download the latest binary and update config files.
- Source installation (from git): cd into the cloned directory and run
./install.sh update. - If you used the one‑line curl installer: just run the same command again – it will overwrite the binary and configs.
- crates.io version: run
cargo install nyado --forceto upgrade. - AUR packages: update with your AUR helper, e.g.,
paru -Syu nyado-bin.
Uninstall
To completely remove nyado:
./install.sh uninstall
This deletes the binary from ~/.local/bin/ and the config directory ~/.config/nyado/.
Your tasks data is stored separately in ~/.local/share/nyado/ – if you want to remove that too, delete it manually:
rm -rf ~/.local/share/nyado
For Windows, manually delete the executable and the %APPDATA%\Local\nyado folder.
Usage
Just run nyado from your terminal.
Key bindings
| Action | Keys (English / Russian) |
|---|---|
| Quit | q / й |
| Language switch | l / L / д / Д |
| Navigate down | j / о , ↓ |
| Navigate up | k / л , ↑ |
| Top / Bottom | g / п , G / П (or Home / End) |
| Page down / up | PageDown / PageUp |
| New task | n / т |
| Edit task | e / у |
| Toggle done | Space |
| Pin / unpin | p / з |
| Set tag | t / е |
| Delete task | d / в |
| Delete all tasks | D / В (Shift + letter) |
| Search | / / . |
| Filter by tag (1‑9) | 1…9 (only for existing tags) |
| Clear filters | Esc |
| Set due date/time | M / m / ь / Ь |
| Show help | h / р , ? |
| Project actions | f / а |
| Previous project | [ / х |
| Next project | ] / ъ |
Note: Filtering works for the first nine most‑used tags displayed in the right panel. Press 1‑9 to filter by that tag, press Esc to clear the filter and the search query.
Localisation
- Language files are stored in
~/.config/nyado/lang_*.toml(Linux) or%APPDATA%\Local\nyado\lang_*.toml(Windows). - You can add your own language by placing a
lang_xx.tomlfile there (just copy an existing one and translate).
Data storage
All data is stored in ~/.local/share/nyado/ (Linux) or %APPDATA%\Local\nyado (Windows).
- Projects are saved as separate text files inside
projects/(e.g.,projects/default.txt). - Backup copies are kept in
projects/.backups/<project>/.
Each task is stored as a single line in the following pipe‑separated format:
<pin>|<done>|<tag>|<text>|<created_at>|<done_at>|<due_date>
| Field | Description |
|---|---|
<pin> |
P if pinned, otherwise - |
<done> |
x if done, otherwise space ( ) |
<tag> |
Tag name, or none if no tag |
<text> |
Task text |
<created_at> |
Unix timestamp (seconds) of creation |
<done_at> |
Unix timestamp when completed, or 0 |
<due_date> |
Unix timestamp of due date, or 0 if not set |
You may edit these files manually, but be cautious.
Requirements
- Linux (x86_64 or aarch64) – any distribution with a decent terminal (unicode support).
- For the binary installer: curl.
- For the source installer: Rust toolchain (installed automatically if missing).
- Windows: not officially supported, but you can compile it yourself.
Contributing
Feel free to open issues or pull requests. The code is modular (each UI component lives in src/ui/), and the i18n system supports adding new languages easily.