38 lines
812 B
Nix
38 lines
812 B
Nix
{
|
|
this,
|
|
inputs,
|
|
systems,
|
|
...
|
|
}: let
|
|
inherit (inputs.nixpkgs) lib;
|
|
in {
|
|
# snow.flake
|
|
flake = flakeInputs: root: let
|
|
snowflake = lib.evalModules {
|
|
class = "snowflake";
|
|
# XXX: TODO: abort if inputs contains reserved names
|
|
specialArgs =
|
|
(flakeInputs
|
|
// {
|
|
inherit (this) snow;
|
|
inherit systems root;
|
|
inputs = flakeInputs;
|
|
})
|
|
# XXX: TODO:
|
|
# |> (x: builtins.removeAttrs x ["self" "nodes"]);
|
|
|> (x: builtins.removeAttrs x ["self"]);
|
|
|
|
modules = [
|
|
./module.nix
|
|
({config, ...}: {
|
|
_module.args = {
|
|
self = config;
|
|
# XXX: TODO:
|
|
# nodes = config.nodes.nodes;
|
|
};
|
|
})
|
|
];
|
|
};
|
|
in
|
|
snowflake.config.outputs;
|
|
}
|