Repository navigation
Conversation
Provides Nix package manager support for installing Buzz without requiring a Rust toolchain or Node: - buzz-cli and buzz-relay: built from source via rustPlatform.buildRustPackage across x86_64-linux, aarch64-linux, x86_64-darwin, and aarch64-darwin - buzz-desktop: wraps prebuilt release artifacts (macOS .app.tar.gz and Linux .AppImage) where they exist; aarch64-linux has no prebuilt binary - devShell with Rust toolchain, PostgreSQL, and Redis for local development - CI workflow with build checks on Linux and Darwin plus scheduled daily hash automation that tracks desktop-v* releases and opens PRs to bump hashes when a new desktop release ships x86_64-darwin uses a pinned pre-drop nixpkgs revision because nixos-unstable (26.11) dropped Intel Darwin support. Signed-off-by: levonk <277861+levonk@users.noreply.github.com>
Make buzz-desktop (source build via cargo-tauri + pnpm) the default desktop package, matching the approach used by other Nix PRs (block#3434, block#3734). Add buzz-desktop-prebuilt as a faster alternative that wraps the official release artifacts. The source build works on all four standard platforms including aarch64-linux (which has no prebuilt binary). It requires sherpa-onnx static libraries, sidecar binaries, and the pnpm frontend build. The prebuilt package remains available for users who want faster installation and are on a platform with a release binary. CI updated to build both variants on Linux and Darwin, with longer timeouts for the source build (90 min vs 10 min for prebuilt). Signed-off-by: levonk <277861+levonk@users.noreply.github.com>
This was referenced Sep 1, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Nix flake so Buzz can be installed through the Nix package manager without requiring a Rust toolchain or Node.
buzz-cliandbuzz-relay: built from source viarustPlatform.buildRustPackagefrom the repo'sCargo.lock. Available onx86_64-linux,aarch64-linux,x86_64-darwin, andaarch64-darwin.buzz-desktop(default): built from source viacargo-tauri+pnpm+ native dependencies (WebKitGTK, GStreamer, sherpa-onnx, etc.). Works on all four standard platforms includingaarch64-linux. This matches the approach used by PRs feat: first-class Nix support (flake, CI-relay, multi-platform) #3434 and nix support for desktop and relay #3734.buzz-desktop-prebuilt(alternative): wraps the prebuilt release artifacts (macOS.app.tar.gzand Linux.AppImage) where they exist. Faster to install, but not available on all platforms and cannot be patched.devShell: Rust toolchain + PostgreSQL + Redis for local development vianix develop..github/workflows/nix.yml): build checks for CLI, relay, both desktop variants on Linux and Darwin, plus a scheduled daily job that tracksdesktop-v*releases and opens PRs to bump hashes when a new desktop release ships.Platform support
x86_64-darwinuses a pinned pre-drop nixpkgs revision (5f85796ab70f9a6ac935b366065d4565288947ac, 2026-05-31) becausenixos-unstable(26.11) dropped Intel Darwin support. Nixpkgs 26.05 will be the last release to supportx86_64-darwin.Usage
Design decisions
buzz-desktop-prebuiltwraps release artifacts for users who want fast installation on platforms with a prebuilt binary.buzz-cliorbuzz-relay, so they are built from source via Nix'sbuildRustPackage.nix/versions.nix.buzz-acp,buzz-agent,buzz-dev-mcp,git-credential-nostr,buzz-cli) and places them in the Tauri binaries directory.Cargo.lockanddesktop/src-tauri/Cargo.lockare vendored separately viarustPlatform.fetchCargoVendor.nix/versions.nix. It may need adjustment if the nixpkgs pnpm version differs from the one used to compute it.Files added
flake.nix— flake outputs (packages, apps, checks, devShells)flake.lock— pinned inputsnix/buzz.nix— desktop source build expression (cargo-tauri + pnpm + sidecars + sherpa-onnx)nix/versions.nix— pinned versions and hashes (sherpa-onnx, cargo vendor, pnpm).github/workflows/nix.yml— CI with build checks and scheduled hash automationREADME.md— Nix installation documentationTest plan
nix build .#buzz-clisucceeds onx86_64-darwinnix run .#buzz-cli -- --helpprints helpnix build .#buzz-relaysucceeds onx86_64-darwinnix run .#buzz-relaystarts (fails on DB connection as expected without Postgres)nix build .#buzz-desktop-prebuiltsucceeds onx86_64-darwinnix flake check --no-buildpassesbuzz-desktopandbuzz-desktop-prebuiltonx86_64-darwinbuzz-desktopsource build onx86_64-linuxandaarch64-darwinbuzz-desktop-prebuiltonx86_64-linuxandaarch64-darwin