diff --git a/nix/srcds/addons.nix b/nix/srcds/addons.nix index 0d107bf..42b5e64 100644 --- a/nix/srcds/addons.nix +++ b/nix/srcds/addons.nix @@ -8,14 +8,15 @@ sdk, extraPackages, }: let - inherit (lib) foldl unique; + inherit (lib) foldl unique sort elem; sdks = { ${sdk} = hl2sdk.${sdk}; }; metaModSdk = metamod-source-builder sdks; sourceModSdk = sourcemod-builder sdks; flattenRequires = foldl (acc: package: acc ++ [package] ++ (flattenRequires package.runtimeInputs or [])) []; - propagatedExtraPackages = unique (flattenRequires extraPackages); + dependsOn = a: b: elem b (a.runtimeInputs or []); + propagatedExtraPackages = sort dependsOn (unique (flattenRequires extraPackages)); names = lib.map (p: p.name) propagatedExtraPackages; in symlinkJoin {