2025-12-13 13:16:48 +10:00
|
|
|
{systems, ...}: let
|
2025-12-14 12:41:52 +10:00
|
|
|
# TODO: move this to a new module
|
|
|
|
|
mkMod' = args: mod: import mod args;
|
2025-12-18 11:25:46 +10:00
|
|
|
mkMod = mkMod' {inherit systems nib;};
|
2025-12-14 12:41:52 +10:00
|
|
|
|
2025-12-14 20:47:34 +10:00
|
|
|
std = mkMod ./std;
|
2025-12-14 12:41:52 +10:00
|
|
|
types = mkMod ./types;
|
2025-12-14 20:47:34 +10:00
|
|
|
parse = mkMod ./parse;
|
2025-12-14 22:41:17 +10:00
|
|
|
panic = mkMod ./panic.nix;
|
2025-12-18 11:25:46 +10:00
|
|
|
sys = mkMod ./sys.nix;
|
2025-12-14 12:41:52 +10:00
|
|
|
|
2025-12-14 20:47:34 +10:00
|
|
|
nib = std.mergeAttrsList [
|
|
|
|
|
# submodule content is accessible first by submodule name
|
|
|
|
|
# then by the name of the content (ie self.submodule.myFunc)
|
2025-12-14 22:41:17 +10:00
|
|
|
{inherit std types panic parse;}
|
2025-12-14 20:47:34 +10:00
|
|
|
|
2025-12-18 11:25:46 +10:00
|
|
|
# submodule content accessible directly (ie self.myFunc)
|
|
|
|
|
sys
|
2025-12-14 20:47:34 +10:00
|
|
|
];
|
2025-12-13 13:16:48 +10:00
|
|
|
in
|
2025-12-14 12:41:52 +10:00
|
|
|
nib
|