-
Notifications
You must be signed in to change notification settings - Fork 0
/
machines.example.nix
44 lines (39 loc) · 1.24 KB
/
machines.example.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
let
# Use your own hardware configuration here.
makeRTMachine = args: { config, pkgs, ... }: {
imports = [ ./ad-lib/modules/common.nix ./ad-lib/modules/common-deploy.nix ./ad-lib/hardware/smehtelecom.nix ./local-common.nix (args.config or {}) ];
deployment.targetHost = args.internalIp;
adLib.internalIp = args.internalIp;
adLib.externalIp = args.internalIp;
};
makeTeamMachine = args: { config, pkgs, ... }@inputs: makeRTMachine (args // {
config = (import ./team-config.nix args inputs) // (args.config or {});
}) inputs;
in {
network = {
description = "Example deployment";
};
jury-host = makeRTMachine {
externalIp = "195.19.98.222";
internalIp = "192.168.1.200";
config = import ./jury-config.nix {
boxIp = "10.2.0.20";
hostName = "board.example.com";
email = "[email protected]";
};
};
team1-host = makeTeamMachine {
externalIp = "195.19.98.223";
internalIp = "192.168.1.1";
name = "NPC";
logo = "https://example.com/teams/1.png";
boxIp = "10.2.2.1";
};
team2-host = makeTeamMachine {
externalIp = "195.19.98.224";
internalIp = "192.168.1.2";
logo = "https://example.com/teams/2.png";
name = "ExampleTeam";
boxIp = "10.2.2.2";
};
}