Prerequisites
Before installing, make sure you have the following:- Rust 1.70+ — the installer will attempt to install Rust automatically if it’s missing
- build-essential (
gcc,make) — required to compile from source - git — used to clone the repository during installation
On Termux, the installer uses
pkg to install all dependencies automatically. No manual setup is needed.Supported platforms
| Platform | Architecture | Status |
|---|---|---|
| Linux | x86_64 | Supported |
| Linux | aarch64 | Supported |
| Linux | armv7 | Supported |
| Linux | i686 | Supported |
| Termux (Android) | aarch64 / arm | Supported |
| macOS | — | Not supported |
| Windows | — | Not supported |
One-line installer
- Linux
- Termux (Android)
Run the following command in your terminal:The script installs the binary to
/usr/local/bin when run as root, or to ~/.local/bin for a regular user. It also adds the install directory to your PATH if it isn’t already present.What the installer does
Detect the environment
The script identifies your OS, architecture, and whether you’re running in Termux. It prints the detected platform before proceeding.
Check for Rust
If
rustc is not found, the installer attempts to install Rust using your system package manager (apt, yum, dnf, or pacman). If none are available, it falls back to rustup.Install build dependencies
The installer checks for
gcc and make. Any missing packages are installed automatically using your system package manager.Clone the repository
The source code is cloned from GitHub into a temporary directory using
git clone --depth 1.Build the binary
The installer runs
cargo build --release to produce a size-optimized, statically-linked binary.Install the binary
The compiled binary is copied to the install directory (
/usr/local/bin for root, ~/.local/bin for non-root users) and marked as executable.Update PATH
If the install directory is not already in your
PATH, the installer appends an export line to your shell config (.bashrc, .zshrc, or .profile).Verify the installation
After installation, run either of the following to confirm the binary is working:Install directory
| Context | Install path |
|---|---|
| Root user | /usr/local/bin/progflow |
| Non-root user | ~/.local/bin/progflow |
Manual build (for developers)
If you want to build and install progflow yourself without the installer script:Copy the binary to your PATH
/usr/local/bin/ instead if you want a system-wide install and have root access.The release profile is configured for minimal binary size:
opt-level = "z", LTO enabled, single codegen unit, and debug symbols stripped. Expect a small, fast binary.Uninstall
To remove Progflow, run the uninstall script:~/.config/flow/ directory so you can choose to preserve your flow configurations.