dotfiles
1{ inputs, ... }:
2let templatesDir = ./.;
3in {
4 flake.templates = let
5 mkTemplate = name: val:
6 let
7 path = templatesDir + "/${name}";
8 flake = import (path + "/flake.nix");
9 in {
10 inherit path;
11 description = flake.description;
12 };
13 templateEntities = let
14 op = _: val: val == "directory";
15 as = builtins.readDir templatesDir;
16 in inputs.nixpkgs.lib.filterAttrs op as;
17 in builtins.mapAttrs mkTemplate templateEntities;
18}