2021-05-15 02:30:42 +03:00
|
|
|
{
|
2021-05-15 02:51:50 +03:00
|
|
|
inputs = {
|
|
|
|
nixpkgsLib.url = "github:divnix/nixpkgs.lib";
|
|
|
|
};
|
2021-05-15 02:30:42 +03:00
|
|
|
|
2021-05-15 02:51:50 +03:00
|
|
|
outputs = { self, nixpkgsLib }:
|
2021-05-15 02:30:42 +03:00
|
|
|
let
|
2021-05-15 04:02:06 +03:00
|
|
|
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 = {
|
2021-05-15 02:51:50 +03:00
|
|
|
inherit tags;
|
2021-05-15 02:30:42 +03:00
|
|
|
};
|
2021-05-15 02:39:30 +03:00
|
|
|
|
|
|
|
overlays = {
|
2021-05-15 04:02:06 +03:00
|
|
|
inherit pkgsLib;
|
2021-05-15 02:39:30 +03:00
|
|
|
};
|
2021-05-15 02:51:50 +03:00
|
|
|
|
2021-05-15 02:54:56 +03:00
|
|
|
examples = {
|
|
|
|
tags = import ./examples/tags.nix tags;
|
2021-05-15 04:02:06 +03:00
|
|
|
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
|
|
|
};
|
|
|
|
}
|