allow isolated modules

This commit is contained in:
Emile Clark-Boman 2026-01-28 16:38:01 +10:00
parent 828701871a
commit 935959858b
2 changed files with 9 additions and 4 deletions

View file

@ -20,6 +20,8 @@ in {
modBuilder mixture.private modBuilder mixture.private
|> projectOnto |> projectOnto
{ {
isolated = false;
includes = { includes = {
public = []; public = [];
private = []; private = [];
@ -35,8 +37,11 @@ in {
# config = Terminal {}; # config = Terminal {};
}; };
mkInputs = mixture: {this = mixture;} // inputs; inputBuilder = mixture:
descendentInputs = mkInputs mixture.protected; if decl.isolated
then inputs // {this = mixture;}
else {this = mixture;} // inputs;
descendentInputs = inputBuilder mixture.protected;
mkMixtureIncludes = layer: mkIncludes decl.includes.${layer} descendentInputs; mkMixtureIncludes = layer: mkIncludes decl.includes.${layer} descendentInputs;
mkMixtureSubMods = layer: mkSubMods decl.submods.${layer} descendentInputs; mkMixtureSubMods = layer: mkSubMods decl.submods.${layer} descendentInputs;

View file

@ -1,10 +1,10 @@
{mix, ...} @ inputs: {mix, ...} @ inputs:
mix.newMixture inputs (mixture: { mix.newMixture inputs (mixture: {
isolated = true;
includes.public = [ includes.public = [
./nt ./nt
]; ];
# XXX: TODO: submods.protected STILL doesn't work?? submods.protected = [
submods.public = [
./std ./std
]; ];
}) })