html.nix/flake.nix

54 lines
1.5 KiB
Nix
Raw Normal View History

2021-05-15 02:30:42 +03:00
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flakeUtils.url = "github:numtide/flake-utils";
};
outputs = { self, flakeUtils, nixpkgs }:
2021-05-18 23:10:21 +03:00
let
utils = import ./utils.nix;
lib = {
# Convert Nix expressions to HTML
tags = import ./tags.nix { inherit utils; };
# Convert Nix expressions to CSS
css = import ./css.nix { inherit utils; };
# Various site templaters
templaters = {
# Basic templater with purecss, mobile responsive layout and supports posts
basic = import ./templaters/basic.nix;
};
2021-05-18 23:10:21 +03:00
};
overlay = final: prev: {
htmlNix = (import ./pkgs-lib.nix { pkgs = prev; utils = utils // { inherit (lib) tags css; }; }) // lib;
};
in
{ inherit overlay; } //
(flakeUtils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; overlays = [ overlay ]; };
in
{
lib = lib // {
2021-05-16 02:56:54 +03:00
pkgsLib = import ./pkgs-lib.nix { inherit pkgs; utils = utils // { inherit (lib) tags css; }; };
};
apps = with flakeUtils.lib; {
site = mkApp {
2021-05-16 02:56:54 +03:00
drv = import ./examples/site.nix { inherit lib pkgs; };
name = "serve";
};
basicServe = mkApp {
drv = import ./examples/serve.nix { inherit (lib) tags; inherit pkgs; };
name = "serve";
};
2021-05-15 19:42:16 +03:00
};
examples = {
tags = import ./examples/tags.nix lib.tags;
};
2021-05-18 23:10:21 +03:00
}));
2021-05-15 02:30:42 +03:00
}