html.nix/flake.nix

49 lines
1.2 KiB
Nix
Raw Normal View History

2021-05-15 02:30:42 +03:00
{
inputs = {
nixpkgsLib.url = "github:divnix/nixpkgs.lib";
};
2021-05-15 02:30:42 +03:00
outputs = { self, nixpkgsLib }:
2021-05-15 02:30:42 +03:00
let
lib = nixpkgsLib.lib // {
recursiveAttrPaths = set:
let
flattenIfHasList = x:
if (lib.isList x) && (lib.any lib.isList x)
then lib.concatMap flattenIfHasList x
else [ x ];
recurse = path: set:
let
g =
name: value:
if lib.isAttrs value
then recurse (path ++ [ name ]) value
else path ++ [ name ];
in
lib.mapAttrsToList g set;
in
flattenIfHasList (recurse [ ] set);
};
tags = import ./tags.nix { format = false; inherit lib; };
pkgsLib = (final: prev: {
htmlNix = import ./pkgs-lib.nix { inherit lib; pkgs = prev; };
});
2021-05-15 02:30:42 +03:00
in
{
lib = {
inherit tags;
2021-05-15 02:30:42 +03:00
};
overlays = {
inherit pkgsLib;
};
2021-05-15 02:54:56 +03:00
examples = {
tags = import ./examples/tags.nix tags;
serve = import ./examples/serve.nix { inherit tags pkgsLib; }; # needs --impure
2021-05-15 02:54:56 +03:00
};
2021-05-15 02:30:42 +03:00
};
}