-
Notifications
You must be signed in to change notification settings - Fork 25
/
flake.nix
55 lines (52 loc) · 1.43 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{
description = "The purely functional static site generator in Nix expression language.";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
inputs.std.url = "github:divnix/std";
inputs.std.inputs.nixpkgs.follows = "nixpkgs";
outputs = {
self,
std,
nixpkgs,
} @ inputs:
std.growOn {
inherit inputs;
cellsFrom = std.incl ./src [
./src/_automation
./src/data
./src/renderers
./src/app
];
cellBlocks = with std.blockTypes; [
# ./src/_automation
(devshells "devshells")
(runnables "tasks")
(runnables "tests")
{
name = "libtests";
type = "unspecified";
}
# ./src/data
(functions "styxthemes")
{
name = "presets";
type = "templates";
}
# ./src/renderers
(functions "docs")
(functions "docslib")
(functions "styxlib")
# ./src/app
(installables "cli")
(runnables "parsers")
];
}
# soil
{
formatter = std.harvest nixpkgs.legacyPackages ["alejandra"];
devShells = std.harvest self ["_automation" "devshells"];
packages = std.harvest self [["_automation" "tasks"] ["app" "cli"]];
hydraJobs = std.winnow (n: _: n != "default") self ["app" "cli"];
templates = std.pick self ["data" "presets"];
lib = std.harvest self ["renderers" "styxlib"];
};
}