Installation
Brisal is built with Tauri, which lets it run as a native desktop app across macOS, Windows, and Linux. Only macOS and Linux are tested today, though — Windows is unsupported and runs at your own risk. Brisal is under heavy, active development and ships no prebuilt download channel yet, so the way you install it today is to build it from a repo checkout. That sounds heavier than it is: one script does the whole build. Once you have the app, Getting started takes you from first launch to your first chat.
Prerequisites
The build needs four tools on your PATH:
cargoandrustc— the Rust toolchain (install via rustup)nodeandyarn— for the frontend
On Linux you’ll also need a few system packages (a C toolchain, pkg-config,
and the WebKitGTK/GTK development libraries). Follow the
Tauri prerequisites guide for the exact
set for your distribution. macOS needs the Xcode command-line tools; Windows
needs the Microsoft C++ Build Tools — both covered by the same guide.
Build from source
Clone the repository with submodules (design plans live in a submodule), then run the build script from the checkout:
git clone --recurse-submodules git@codeberg.org:arkanoryn/brisal.git
cd brisal
scripts/build-local.sh
The script checks your tools, installs dependencies, runs the type and workspace
checks, and then bundles the app. When it finishes, your artifacts are under the
workspace’s shared target directory at the repo root (not under src-tauri/):
target/release/bundle/
The runnable app lives in bundle/macos/ (macOS), bundle/appimage/ or
bundle/deb/ (Linux), or bundle/nsis/ (Windows). By default the script also
produces an installer — a .dmg on macOS, for example.
A few flags tune the build:
| Flag | Effect |
|---|---|
| (none) | Release build, with the installer bundle. |
--debug | Faster, unoptimized build for testing. |
--app-only | Emit only the runnable app, skip the installer. Faster, and on macOS it avoids mounting the .dmg disk image (which pops open a Finder window during packaging). |
Use --app-only for local iteration — you get a .app (or platform equivalent)
you can launch directly. Drop it when you want the shareable installer.
On rolling Linux distributions such as Arch Linux, AppImage bundling can fail if
linuxdeploy tries to strip newer system libraries that contain .relr.dyn ELF
sections. The build script sets NO_STRIP=1 on Linux to avoid that incompatible
strip step. If you run yarn tauri build directly and see unknown type [0x13] section .relr.dyn, use:
NO_STRIP=1 yarn tauri build --bundles appimage
First launch
Because Brisal ships with no code-signing certificates, what happens on first launch depends on how you got the app.
An app you built yourself runs without warnings. The operating system only distrusts binaries it received from elsewhere — macOS attaches its quarantine flag at download time, not at build time — so a local build launches like any trusted app.
If you instead received a prebuilt bundle from someone else, expect a one-time prompt:
-
macOS — Gatekeeper blocks downloaded unsigned apps. Right-click → Open no longer bypasses this (Apple removed that path in macOS 15 Sequoia). Clear the quarantine flag once:
xattr -dr com.apple.quarantine /Applications/brisal.appOr open System Settings → Privacy & Security, scroll to Security, and click Open Anyway for the last blocked app.
-
Windows — SmartScreen shows an “unrecognized app” prompt. Click More info → Run anyway.
Updating
There is no auto-update. Because you install by building, you update the same way — pull the latest source (submodules included) and rebuild:
git pull --recurse-submodules
scripts/build-local.sh
Next steps
With the app built and launching, head to Getting started — it walks you from a fresh install through creating a workspace, connecting a provider, and your first chat.