-
Notifications
You must be signed in to change notification settings - Fork 2
/
flake.nix
86 lines (81 loc) · 2.52 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{
description = "Nix flake templates";
outputs = { self }:
let
welcome = { project, tool, link, target ? "" }: ''
You just created a ${project} project using ${tool}. Read more about it here:
${link}
Development shell available on `nix develop`
Build the project with `nix build ${target}`
Run the project with `nix run ${target}`
'';
haskWelcomeText = welcome {
project = "Haskell";
tool = "hask";
link = "https://nixos.org/manual/nixpkgs/stable/#haskell";
};
iogxWelcomeText = welcome {
project = "Haskell";
tool = "haskell.nix (iogx)";
link = "https://github.com/input-output-hk/iogx";
target = ".#iogx:exe:iogx`";
};
ctlWelcomeText = welcome {
project = "cardano-transaction-lib";
tool = "purs-nix (pix)";
link = "https://github.com/Plutonomicon/cardano-transaction-lib";
};
agdWelcomeText = welcome {
project = "agd";
tool = "agd";
link = "https://github.com/agda/agda";
};
in
{
templates = {
hask = {
path = ./hask;
description = "A minimal haskell template";
welcomeText = haskWelcomeText;
};
iogx = {
path = ./iogx;
description = "A haskell.nix template using iogx";
welcomeText = iogxWelcomeText;
};
iogx-plutus = {
path = ./iogx-plutus;
description = "A plutus template using iogx";
welcomeText = ''
${iogxWelcomeText}
Plutus docs available with `nix run .#serve-docs`
'';
};
pix = {
path = ./pix;
description = "A purs-nix template";
welcomeText = ''
You just created a purs-nix project.
Read more about it here: https://github.com/purs-nix/purs-nix
Development shell with `nix develop`
Build with `nix build`
'';
};
pix-ctl = {
path = ./pix-ctl;
description = "A minimal cardano-transaction-lib template using pix";
welcomeText = ctlWelcomeText;
};
pix-ctl-full = {
path = ./pix-ctl-full;
description = "A optioned cardano-transaction-lib template using pix and webpack";
welcomeText = ctlWelcomeText;
};
agd = {
path = ./agd;
description = "A minimal agda template";
welcomeText = agdWelcomeText;
};
};
};
}