1{
2 perSystem =
3 {
4 pkgs,
5 lib,
6 ...
7 }:
8 let
9 packages = lib.packagesFromDirectoryRecursive {
10 inherit (pkgs) callPackage;
11 directory = ./packages;
12 };
13 in
14 {
15 legacyPackages = packages;
16 packages = lib.filterAttrs (
17 _: pkg:
18 let
19 isDerivation = lib.isDerivation pkg;
20 availableOnHost = lib.meta.availableOn pkgs.stdenv.hostPlatform pkg;
21 isBroken = pkg.meta.broken or false;
22 in
23 isDerivation && !isBroken && availableOnHost
24 ) packages;
25 };
26}