forked from VertexANVIL/Fractal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
63 lines (60 loc) · 1.65 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
56
57
58
59
60
61
62
63
{
description = "Fractal Kubernetes Framework";
inputs.std.url = "github:divnix/std";
inputs.std.inputs.nixpkgs.follows = "nixpkgs";
inputs.std.inputs.mdbook-kroki-preprocessor.follows = "std/blank";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
inputs = {
xnlib.url = "github:ArctarusLimited/xnlib";
xnlib.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = {
self,
std,
...
} @ inputs:
std.growOn {
inherit inputs;
cellsFrom = std.incl ./. [
./lib # library
./ext # extensions library
./app # fractal cli
./cfg # fractal cfg interfaces
# repo tooling for the fractal repo itelf
./tools
];
cellBlocks = with std.blockTypes; [
# library
(functions "utils")
(functions "builders")
(functions "generators")
(functions "validators")
# ext library
(functions "hooks")
(functions "flux")
# fractal cfg interfaces
(functions "options")
(functions "modules")
# fractal cli
(installables "packages")
# repo tooling
(devshells "devshells")
];
}
{
packages = std.harvest self ["app" "packages"];
devShells = std.harvest self ["tools" "devshells"];
lib' = std.harvest self [
["lib"]
["ext"]
["lib" "utils"]
["lib" "builders"]
["lib" "generators"]
["lib" "validators"]
["ext" "hooks"]
["ext" "flux"]
];
# compatibility with former x86_64-linux - only lib
lib = inputs.xnlib.lib.extend (_: _: {kube = self.lib'.x86_64-linux;});
};
}