Closes#1092
Four fixes that together make `nix build .#openfang-cli` and `nix build .#openfang-desktop` work on NixOS:
1. perl / clang / pkg-config moved to nativeBuildInputs (fixes openssl-src build failure — this is the bug filed in #1092)
2. openfang-desktop nativeBuildInputs gets pkg-config + wrapGAppsHook3 (GTK runtime wrappers + webkit2gtk-4.1 .pc discovery)
3. libayatana-appindicator added to desktop buildInputs (tray.rs dlopen at runtime)
4. preFixup hook prefixes LD_LIBRARY_PATH so the dlopen-only library actually ends up in the runtime closure
Authored by @Aypex.
Supersedes #1086 (which only fixed item 1).
Since v0.5.4, native-tls uses features = ["vendored"], which compiles OpenSSL from source via openssl-sys. This requires perl for the OpenSSL Configure script, but perl was missing from the flake's buildInputs.
Mirrors the Dockerfile fix in #952. Fixes#894.
* Feat: Add Nix support
Adding Nix support. Nixos modules may follow...
Run directly with `nix run github:RightNow-AI/openfang`
There are a bunch of flake outputs (based on cargo workspace)
Focus on these:
* openfang-cli (default)
* openfang-desktop
* nix: cmake depdencency was introduced via llama
* Follow upstream style