universe/templates/default.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;
}