16 lines
467 B
Nix
16 lines
467 B
Nix
{ lib, ... }:
|
|
let
|
|
mkTemplate = name:
|
|
let
|
|
path = ./. + "/${name}";
|
|
flakePath = path + "/flake.nix";
|
|
meta = if builtins.pathExists flakePath then import flakePath else { };
|
|
in
|
|
{ inherit path; }
|
|
// lib.optionalAttrs (meta ? description) { inherit (meta) description; };
|
|
|
|
templates = lib.attrNames (lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./.));
|
|
in
|
|
{
|
|
flake.templates = lib.genAttrs templates mkTemplate;
|
|
}
|