mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-13 00:20:07 +01:00
feat: interface and lib refactoring
This commit is contained in:
parent
e260ad9bb4
commit
5d8b66f8a0
10 changed files with 111 additions and 88 deletions
24
default.nix
24
default.nix
|
|
@ -1,14 +1,21 @@
|
|||
{ pkgs ? import <nixpkgs> {}, lib ? pkgs.lib }:
|
||||
|
||||
let
|
||||
lib' = lib.extend (lib: self: import ./lib.nix { inherit lib pkgs; });
|
||||
with lib;
|
||||
|
||||
specialArgs' = {
|
||||
let
|
||||
kubenixLib = import ./lib { inherit lib pkgs; };
|
||||
lib' = lib.extend (lib: self: import ./lib/extra.nix { inherit lib pkgs; });
|
||||
|
||||
defaultSpecialArgs = {
|
||||
inherit kubenix;
|
||||
};
|
||||
|
||||
evalKubernetesModules = {module ? null, modules ? [module], specialArgs ? specialArgs', ...}@attrs: let
|
||||
attrs' = lib.filterAttrs (n: _: n != "module") attrs;
|
||||
evalModules = {
|
||||
module ? null,
|
||||
modules ? [module],
|
||||
specialArgs ? defaultSpecialArgs, ...
|
||||
}@attrs: let
|
||||
attrs' = filterAttrs (n: _: n != "module") attrs;
|
||||
in lib'.evalModules (attrs' // {
|
||||
inherit specialArgs modules;
|
||||
args = {
|
||||
|
|
@ -17,14 +24,11 @@ let
|
|||
};
|
||||
});
|
||||
|
||||
buildResources = args:
|
||||
(evalKubernetesModules args).config.kubernetes.generated;
|
||||
|
||||
modules = import ./modules;
|
||||
|
||||
kubenix = {
|
||||
inherit evalKubernetesModules buildResources kubenix;
|
||||
inherit evalModules kubenix;
|
||||
|
||||
lib = lib';
|
||||
lib = kubenixLib;
|
||||
} // modules;
|
||||
in kubenix
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue