2025-04-06 17:17:51 +02:00
|
|
|
{
|
|
|
|
override =
|
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
dependencies.git = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.gitMinimal;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
all =
|
|
|
|
{
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
options,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
{
|
|
|
|
dependencies = lib.mapAttrs (_: depOption: {
|
|
|
|
enable = lib.meta.availableOn pkgs.stdenv.hostPlatform depOption.package.default;
|
|
|
|
}) options.dependencies;
|
|
|
|
};
|
2025-04-11 15:42:21 +02:00
|
|
|
|
|
|
|
all-examples =
|
|
|
|
{
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
options,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
{
|
|
|
|
dependencies = lib.pipe options.dependencies [
|
2025-04-12 05:30:59 +01:00
|
|
|
# We use a literalExpression example, with an additional `path` attr.
|
|
|
|
# This means we don't have to convert human readable paths back to list-paths for this test.
|
|
|
|
(lib.filterAttrs (_: depOption: depOption.package ? example.path))
|
2025-04-11 15:42:21 +02:00
|
|
|
(lib.mapAttrs (
|
|
|
|
_: depOption:
|
|
|
|
let
|
2025-04-12 05:30:59 +01:00
|
|
|
packagePath = depOption.package.example.path;
|
|
|
|
packageName = lib.showAttrPath packagePath;
|
2025-04-11 15:42:21 +02:00
|
|
|
package = lib.attrByPath packagePath (throw "${packageName} not found in pkgs") pkgs;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
enable = lib.meta.availableOn pkgs.stdenv.hostPlatform package;
|
|
|
|
inherit package;
|
|
|
|
}
|
|
|
|
))
|
|
|
|
];
|
|
|
|
};
|
2025-04-06 17:17:51 +02:00
|
|
|
}
|