···1414 # its agents (pkgs.orca is the GNOME screen reader, not this one).
1515 callPackage = pkgs.newScope { llm-agents = inputs'.llm-agents.packages; };
16161717- # Wrapper that handles platform-incompatible packages by:
1818- # 1. Catching eval errors during callPackage
1919- # 2. Filtering based on meta.platforms
2020- platformAwareCallPackage =
2121- path: args:
2222- let
2323- result = builtins.tryEval (callPackage path args);
2424- pkg = result.value;
2525- isSupported = result.success && lib.meta.availableOn pkgs.stdenv.hostPlatform pkg;
2626- in
2727- if isSupported then pkg else null;
2828-2917 allPackages = lib.packagesFromDirectoryRecursive {
3030- callPackage = platformAwareCallPackage;
1818+ inherit callPackage;
3119 directory = ./.;
3220 };
3321 in
3434- lib.filterAttrs (name: pkg: name != "flake-module" && pkg != null) allPackages;
2222+ # Packages for other platforms are left out via meta.platforms, so a
2323+ # package's meta must evaluate on every system, also on the ones it
2424+ # does not support; a package that throws breaks the evaluation.
2525+ lib.filterAttrs (
2626+ name: pkg: name != "flake-module" && lib.meta.availableOn pkgs.stdenv.hostPlatform pkg
2727+ ) allPackages;
35283629 # Fails the build (not the evaluation) once llm-agents moves past the
3730 # releases stablyai deleted, so the pin in pkgs/orca gets dropped. An