Skip to content

Conversation

@jerome-benoit
Copy link
Contributor

Adds a preliminary Nix flake package for the Tauri desktop app.

Tested on NixOS and on macOS. On other GNU/Linux distros, it likely needs more work for the UI to render/display correctly (e.g. runtime deps / WebKitGTK setup).

Copilot AI review requested due to automatic review settings December 24, 2025 23:35
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds preliminary Nix flake support for building the Tauri desktop application. The implementation enables building the desktop app through Nix on NixOS and macOS, though it may require additional work for proper UI rendering on other GNU/Linux distributions.

Key Changes:

  • Adds nix/desktop.nix with a complete Rust/Tauri build pipeline including frontend compilation, sidecar integration, and proper library path handling
  • Integrates the desktop package into flake.nix as a new output alongside the existing CLI package
  • Reformats function parameters in nix/opencode.nix and nix/node-modules.nix for consistency

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 8 comments.

File Description
nix/desktop.nix New file implementing the desktop app build derivation with Rust compilation, Node.js frontend build, and platform-specific library linking
flake.nix Adds desktop package instantiation and exposes it as a flake output while restructuring the packages section
nix/opencode.nix Reformats function parameter list to multi-line format for improved readability
nix/node-modules.nix Reformats function parameters and native build inputs list to multi-line format

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jerome-benoit
Copy link
Contributor Author

Addressed review notes:

  • Removed trailing whitespace in flake.nix
  • Made Linux-only deps and LD_LIBRARY_PATH wrapper conditional (and added basic Darwin frameworks)
  • Added meta.platforms
  • Added explicit error handling around jq merge
  • Kept packages writable for tsgo incremental outputs during the build

@rekram1-node
Copy link
Collaborator

wow thank u

@rekram1-node
Copy link
Collaborator

ill send to adam/brendan since they work on desktop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants