summaryrefslogtreecommitdiff
path: root/hosts/omega-relay/vm.nix
blob: e2b80d1a166ee960390b02d2748513dec8d95470 (plain)
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
{lib, config,...}: let 
  tcpFromHost = gport: hport: {
    from = "host"; 
    proto = "tcp"; 
    host = { 
      port = hport; 
      address = "10.0.69.1";
    };
    guest = { 
      port = gport; 
      address = "10.0.69.2";
    };
  };
in {
  virtualisation.vmVariant = {
    addons.virtualisation.isTestVM = true; 
    fileSystems."/" = {
      device = "none";
      fsType = "tmpfs";
      options = [
        "defaults"
        "size=2G"
        "mode=755"
      ];
    };
   virtualization = {
      forwardPorts = [
        (tcpFromHost 80 8080)
        (tcpFromHost 22 8022)
      ]; 
      virtualisation = {
        memorySize = 2048; # Use 2048MiB memory.
        cores = 3;
        graphics = true;
      };
    };
  }; 
}