How about something like:
{
description = "Flake A";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
outputs = { self, nixpkgs, ... }:
{
nixosModules = {
moduleA = import ./module.nix;
};
};
}
and then:
{
description = "Flake B";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flakeA = {
inputs.nixpkgs.follows = "nixpkgs";
url = "... flake A URI ...";
};
};
outputs = { self, nixpkgs, flakeA, ... }:
{
nixosModules = {
# add moduleA from flakeA as an output
moduleA = flakeA.nixosModules.moduleA;
moduleB = import ./module.nix;
};
};
}