-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
81 lines (80 loc) · 2.02 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
{
outputs = { self, nixpkgs }: {
templates =
let commonEnvVars = {
# OPTION_NAME = DEFAULT_VALUE
PROJECT_NAME = "";
DESCRIPTION = "";
LONG_DESCRIPTION = "";
};
in
rec {
bun = {
path = ./bun;
description = "A simple bun project";
envVars = commonEnvVars // {
PKG = "beta";
};
};
c-bin = {
path = ./c-bin;
description = "A simple C project";
envVars = commonEnvVars;
};
default = {
path = ./flake;
description = "A simple Nix flake";
envVars = commonEnvVars;
};
deno = {
path = ./deno;
description = "A simple Deno project";
envVars = commonEnvVars // {
DENO_STDLIB_VERSION = "0.210.0";
};
};
flake = default;
go = {
path = ./go;
description = "A simple Go project";
envVars = commonEnvVars // {
MOD = "beta";
};
};
k6 = {
path = ./k6;
description = "A ready to use k6 setup";
envVars = commonEnvVars // {
K6_VERSION = "latest";
};
};
node = {
path = ./node;
description = "A simple Node.js projet";
envVars = commonEnvVars // {
PKG = "beta";
};
};
python = {
path = ./python;
description = "A simple Python project";
envVars = commonEnvVars;
};
rust = {
path = ./rust;
description = "A simple Rust project";
envVars = commonEnvVars //
{
# Package name in Cargo.toml
PKG = "rust";
# Rust edition entry in Cargo.toml
EDITION = 2021;
# Rust analyzer
RUST_ANALYZER = "rust-analyzer";
# Toolchain
TOOLCHAIN = "stable";
};
};
};
};
}