This repository has no description
1.5 kB
46 lines
1{ ... }:
2{
3 perSystem =
4 {
5 lib,
6 pkgs,
7 inputs',
8 ...
9 }:
10 {
11 packages =
12 let
13 # pkgs.callPackage plus llm-agents, for packages that patch one of
14 # its agents (pkgs.orca is the GNOME screen reader, not this one).
15 callPackage = pkgs.newScope { llm-agents = inputs'.llm-agents.packages; };
16
17 allPackages = lib.packagesFromDirectoryRecursive {
18 inherit callPackage;
19 directory = ./.;
20 };
21 in
22 # Packages for other platforms are left out via meta.platforms, so a
23 # package's meta must evaluate on every system, also on the ones it
24 # does not support; a package that throws breaks the evaluation.
25 lib.filterAttrs (
26 name: pkg: name != "flake-module" && lib.meta.availableOn pkgs.stdenv.hostPlatform pkg
27 ) allPackages;
28
29 # Fails the build (not the evaluation) once llm-agents moves past the
30 # releases stablyai deleted, so the pin in pkgs/orca gets dropped. An
31 # assert in pkgs/orca would be swallowed by the tryEval above.
32 checks.orca-pin =
33 let
34 inherit (inputs'.llm-agents.packages.orca) version;
35 in
36 pkgs.runCommand "orca-pin" { } (
37 if version == "1.4.226" then
38 "touch $out"
39 else
40 ''
41 echo "llm-agents now ships orca ${version}; remove the 1.4.224 pin in pkgs/orca and this check" >&2
42 exit 1
43 ''
44 );
45 };
46}