chore(lib): prepare for refactoring into clanLib

This commit is contained in:
Johannes Kirschbauer
2025-03-30 15:56:54 +02:00
parent d9f3169ac3
commit 77b6afd034

View File

@@ -1,25 +1,38 @@
{ {
lib, lib,
clan-core, self,
nixpkgs, 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 { evalClan = import ./eval-clan-modules {
inherit clan-core lib; inherit lib;
clan-core = self;
pkgs = nixpkgs.legacyPackages.x86_64-linux; pkgs = nixpkgs.legacyPackages.x86_64-linux;
}; };
in buildClan = import ./build-clan {
{ inherit lib nixpkgs;
inherit (evalClan) evalClanModules evalClanModulesWithRoles; clan-core = self;
buildClan = import ./build-clan { inherit lib nixpkgs clan-core; }; };
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; }; facts = import ./facts.nix { inherit lib; };
inventory = import ./inventory { inherit lib clan-core; };
values = import ./values { inherit lib; }; values = import ./values { inherit lib; };
jsonschema = import ./jsonschema { inherit lib; }; jsonschema = import ./jsonschema { inherit lib; };
modules = import ./frontmatter {
inherit lib;
self = clan-core;
};
select = import ./select.nix; select = import ./select.nix;
} })