Installation¶
Note
On Linux, suve requires GTK3 and WebKit2GTK for GUI support. Use the CLI/TUI-only version if you don't need the desktop GUI. The keyboard-driven TUI (--tui) is pure Go and ships in every build, including the CLI/TUI-only one — only the desktop GUI (--gui) needs the GTK3/WebKit2GTK dependencies.
Using mise (macOS/Linux/Windows)¶
suve is installable directly from GitHub Releases via mise's github backend — no extra registry required:
# Full version (CLI/TUI + GUI)
mise use -g "github:mpyw/suve"
# CLI/TUI-only version (no GUI dependencies, recommended for Linux. Not available on macOS/Windows)
mise use -g "github:mpyw/suve[matching=cli]"
Tip
Committing to a shared mise.toml used across OSes? Use a single cross-platform rule instead:
Using aqua (macOS/Linux/Windows)¶
suve is available in the standard aqua registry:
The registry picks the right asset per platform automatically: the self-contained GUI build on macOS/Windows, and the dependency-free CLI/TUI-only static build on Linux (so --gui is not available via aqua on Linux).
Using Homebrew (macOS/Linux)¶
# Full version (CLI/TUI + GUI)
brew install mpyw/tap/suve
# CLI/TUI-only version (no GUI dependencies, recommended for Linux)
brew install mpyw/tap/suve-cli
Using Scoop (Windows)¶
Using npm (macOS/Linux/Windows)¶
The right prebuilt binary is pulled in automatically per platform: the self-contained GUI build on macOS/Windows, and the dependency-free CLI/TUI-only static build on Linux (so --gui is not available via npm on Linux).
Tip
Ideal for cloud shells. AWS CloudShell, Google Cloud Shell, and Azure Cloud Shell all ship Node.js, so npx @mpyw/suve … runs suve with nothing to download or install — and the dependency-free CLI/TUI-only build is exactly what you want there (no GUI). Each shell's ambient credentials are auto-detected too; see Cloud Shell support.
Using curl or wget (macOS/Linux)
No package manager? Install the latest release straight from GitHub Releases with whichever downloader your host already has:
# curl
curl -fsSL https://raw.githubusercontent.com/mpyw/suve/main/scripts/install.sh | sh
# wget
wget -qO- https://raw.githubusercontent.com/mpyw/suve/main/scripts/install.sh | sh
The script detects your OS and CPU architecture, downloads the matching release asset over HTTPS, verifies its SHA-256 against the release's checksums.txt, and installs the suve binary to /usr/local/bin (using sudo if that directory needs elevation, or falling back to ~/.local/bin when no sudo is available). On Linux it auto-selects the build: the GUI build when a system WebKit2GTK (4.1 or 4.0) is detected, otherwise the dependency-free CLI/TUI-only static build.
Everything below is optional — pick the line you want (swap curl -fsSL for wget -qO- if that's what you have):
BASE=https://raw.githubusercontent.com/mpyw/suve/main/scripts/install.sh
curl -fsSL "$BASE" | VERSION=0.0.0 sh # pin a specific version
curl -fsSL "$BASE" | sh -s -- --cli # force CLI/TUI-only
curl -fsSL "$BASE" | sh -s -- --gui # force the GUI build
curl -fsSL "$BASE" | SUVE_INSTALL_DIR="$HOME/.local/bin" sh # install to a custom dir
curl -fsSL "$BASE" | sh -s -- --deb # native .deb via apt (Debian/Ubuntu)
curl -fsSL "$BASE" | sh -s -- --rpm # native .rpm via dnf (Fedora/RHEL)
--deb / --rpm install a native package instead of a bare binary — tracked by apt/dnf for clean upgrade/removal, with GUI dependencies resolved for you. They also default to auto (GUI when WebKit2GTK is already present, else CLI-only); add --gui/--cli to force a build.
Manual .deb / .rpm install (without the script)
Prefer to do it by hand? The --deb / --rpm flags above are just a wrapper around downloading the package from GitHub Releases and handing it to your package manager:
Debian/Ubuntu (.deb):
export VERSION=0.0.0
export ARCH=amd64 # or arm64
export WEBKIT_SUFFIX="" # use "_webkit2_41" for Ubuntu 24.04+
# CLI/TUI-only (recommended, no GUI dependencies)
curl -LO "https://github.com/mpyw/suve/releases/download/v${VERSION}/suve-cli_${VERSION}-1_${ARCH}.deb"
sudo apt install "./suve-cli_${VERSION}-1_${ARCH}.deb"
# Full version (CLI/TUI + GUI; apt resolves GTK3 and WebKit2GTK)
curl -LO "https://github.com/mpyw/suve/releases/download/v${VERSION}/suve${WEBKIT_SUFFIX}_${VERSION}-1_${ARCH}.deb"
sudo apt install "./suve${WEBKIT_SUFFIX}_${VERSION}-1_${ARCH}.deb"
Note: Ubuntu 22.04/Debian uses webkit2gtk-4.0 (default). Ubuntu 24.04+ uses webkit2gtk-4.1 (set WEBKIT_SUFFIX="_webkit2_41").
Red Hat/Fedora (.rpm):
export VERSION=0.0.0
export ARCH=x86_64 # or aarch64
export WEBKIT_SUFFIX="" # use "_webkit2_41" for Fedora 40+
# CLI/TUI-only (recommended, no GUI dependencies)
curl -LO "https://github.com/mpyw/suve/releases/download/v${VERSION}/suve-cli-${VERSION}-1.${ARCH}.rpm"
sudo dnf install "./suve-cli-${VERSION}-1.${ARCH}.rpm"
# Full version (CLI/TUI + GUI; dnf resolves GTK3 and WebKit2GTK)
curl -LO "https://github.com/mpyw/suve/releases/download/v${VERSION}/suve${WEBKIT_SUFFIX}-${VERSION}-1.${ARCH}.rpm"
sudo dnf install "./suve${WEBKIT_SUFFIX}-${VERSION}-1.${ARCH}.rpm"
Note: Fedora 39 and earlier uses webkit2gtk-4.0 (default). Fedora 40+ uses webkit2gtk-4.1 (set WEBKIT_SUFFIX="_webkit2_41").
Using go install (CLI/TUI only)
Note: go install builds the CLI/TUI only. The desktop GUI requires pre-built assets that are not included in the Go module. For GUI support, use a package manager or build from source.
Building from Source
For platforms without pre-built packages (e.g., Arch Linux) or if you need the latest development version with GUI:
Requires Go 1.27+.
CLI/TUI only:
CLI/TUI + GUI (requires Node.js for the frontend build):
Build dependencies for GUI:
| Platform | Dependencies |
|---|---|
| All | Node.js (for frontend build) |
| macOS | Xcode Command Line Tools |
| Windows | WebView2 Runtime (usually pre-installed) |
Linux build dependencies and webkit2gtk-4.1 support
Linux requires GTK3 and WebKit2GTK:
| Platform | Dependencies |
|---|---|
| Ubuntu 22.04/Debian | sudo apt install libgtk-3-dev libwebkit2gtk-4.0-dev |
| Ubuntu 24.04+ | sudo apt install libgtk-3-dev libwebkit2gtk-4.1-dev |
| Fedora 39 | sudo dnf install gtk3-devel webkit2gtk4.0-devel |
| Fedora 40+ | sudo dnf install gtk3-devel webkit2gtk4.1-devel |
| Arch Linux | sudo pacman -S gtk3 webkit2gtk-4.1 |
For webkit2gtk-4.1 (Ubuntu 24.04+, Fedora 40+, Arch Linux), add the webkit2_41 build tag via SUVE_GUI_TAGS: