mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 08:00:06 +01:00
37 lines
808 B
Nix
37 lines
808 B
Nix
{ pkgs ? import <nixpkgs> {}, lib ? pkgs.lib }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
kubenixLib = import ./lib { inherit lib pkgs; };
|
|
lib' = lib.extend (lib: self: import ./lib/extra.nix { inherit lib pkgs; });
|
|
|
|
defaultSpecialArgs = {
|
|
inherit kubenix;
|
|
};
|
|
|
|
# evalModules with same interface as lib.evalModules and kubenix as
|
|
# special argument
|
|
evalModules = {
|
|
module ? null,
|
|
modules ? [module],
|
|
specialArgs ? defaultSpecialArgs, ...
|
|
}@attrs: let
|
|
attrs' = filterAttrs (n: _: n != "module") attrs;
|
|
in lib'.evalModules (recursiveUpdate {
|
|
inherit specialArgs modules;
|
|
args = {
|
|
inherit pkgs;
|
|
name = "default";
|
|
};
|
|
} attrs');
|
|
|
|
modules = import ./modules;
|
|
|
|
kubenix = {
|
|
inherit evalModules modules;
|
|
|
|
lib = kubenixLib;
|
|
module = modules.module;
|
|
};
|
|
in kubenix
|