cerulean/nix/snow/flake/default.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;
}