Installation
Installation
Capystreama runs on Linux and Windows (amd64 and arm64). There are three ways to get it, depending on whether you want a plain build, a plugin-enabled build, or a Nix-managed one.
Prebuilt releases
The simplest option. Each release ships archives for every platform:
| Platform | Archive |
|---|---|
| Linux x86-64 | capystreama_Linux_x86_64.tar.xz |
| Linux arm64 | capystreama_Linux_arm64.tar.xz |
| Windows x86-64 | capystreama_Windows_x86_64.zip |
| Windows arm64 | capystreama_Windows_arm64.zip |
Download the archive for your platform from the GitLab releases , extract
it, and run the capystreama binary. Each release also publishes a signed checksums.txt — see Updates for how release signing works.
Prebuilt binaries are the host plus the plugins bundled into that release. If you need a different set of plugins, build your own (below).
Building with plugins (capystreama-build)
Plugins are linked in at build time by the xcaddy-style capystreama-build command. It generates a throwaway scratch main module that requires the GUI
plus each requested plugin, blank-imports each so its init-time core.Register fires, and builds the result.
Run it straight from the module proxy — no clone required:
go run gitlab.com/terryp/capystreama-gui/src/cmd/capystreama-build@latest \
-with gitlab.com/terryp/capystreama-website/go@latest \
-tags "website" \
-o capystreama Key flags:
| Flag | Description |
|---|---|
-o | Output binary path (default capystreama). |
-with | Plugin module to include; repeatable. module@version or module=path. |
-gui | GUI module selector: module@version or module=path. |
-tags | Space-separated build tags (e.g. "website schedule"). |
-version | Version string injected into the binary. |
Use module=./path to build against a local checkout (it becomes a replace directive) — the way to pick up unpublished changes with no Go workspace. See the
GUI repo's BUILDING.md for the full reference.
The cgo / Fyne toolchain
Building the binary is a cgo build: it needs a C compiler, pkg-config, and
the OpenGL / X11 / Wayland client libraries on the build path (and their shared
objects at runtime).
The capystreama-website repo wires all of this up in a Nix flake app that
invokes capystreama-build with the website module and runs the result:
nix run .#gui # from the capystreama-website checkout