← Docs

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:

  • cargo and rustc — the Rust toolchain (install via rustup)
  • node and yarn — 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:

FlagEffect
(none)Release build, with the installer bundle.
--debugFaster, unoptimized build for testing.
--app-onlyEmit 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.app

    Or 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.