From 336dc00a94e39337c64decd6d0f4f6e4a4d43187 Mon Sep 17 00:00:00 2001 From: Seth Flynn Date: Tue, 11 Mar 2025 16:31:03 -0400 Subject: initial commit --- lib.nix | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 lib.nix (limited to 'lib.nix') diff --git a/lib.nix b/lib.nix new file mode 100644 index 0000000..e5a019c --- /dev/null +++ b/lib.nix @@ -0,0 +1,52 @@ +{ + lib ? import , +}: + +lib.fix (self: { + evalCores = + { + modules, + specialArgs, + }: + + lib.evalModules { + modules = [ ./modules ] ++ modules; + inherit specialArgs; + class = "core"; + }; + + mkCores = + { + module, + specialArgs, + sources, + }: + + self.outputsWithExtend ( + self.evalCores { + modules = [ + module + + ( + { lib, ... }: + + { + sources = lib.mkDefault sources; + } + ) + ]; + + inherit specialArgs; + } + ); + + outputsWithExtend = + cores: + + assert cores.class == "core"; + + cores.config.outputs + // { + extendCores = module: self.outputsWithExtend (cores.extendModules { modules = [ module ]; }); + }; +}) -- cgit v1.2.3