chore(lib): prepare for refactoring into clanLib

This commit is contained in:
Johannes Kirschbauer
2025-03-30 15:56:54 +02:00
parent 1d07737989
commit 89bc39869c

View File

@@ -1,25 +1,38 @@
{
lib,
clan-core,
self,
nixpkgs,
...
}:
let
# Produces the
# 'clanLib' attribute set
# Wrapped with fix, so we can depend on other clanLib functions without passing the whole flake
lib.fix (clanLib: {
# TODO:
# SSome bad lib functions that depend on something in 'self'.
# We should reduce the dependency on 'self' aka the 'flake' object
# This makes it easier to test
# most of the time passing the whole flake is unnecessary
evalClan = import ./eval-clan-modules {
inherit clan-core lib;
inherit lib;
clan-core = self;
pkgs = nixpkgs.legacyPackages.x86_64-linux;
};
in
{
inherit (evalClan) evalClanModules evalClanModulesWithRoles;
buildClan = import ./build-clan { inherit lib nixpkgs clan-core; };
buildClan = import ./build-clan {
inherit lib nixpkgs;
clan-core = self;
};
inventory = import ./inventory {
inherit lib;
clan-core = self;
};
modules = import ./frontmatter {
inherit lib self;
};
# ------------------------------------
# Lib functions that don't depend on 'self'
facts = import ./facts.nix { inherit lib; };
inventory = import ./inventory { inherit lib clan-core; };
values = import ./values { inherit lib; };
jsonschema = import ./jsonschema { inherit lib; };
modules = import ./frontmatter {
inherit lib;
self = clan-core;
};
select = import ./select.nix;
}
})