aboutsummaryrefslogtreecommitdiff
path: root/machines/phaenn/default.nix
blob: cbe00ab69f503c54fb4bc7ae1496c958c36014f7 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{ config, lib, pkgs, ... }:

let endpoint = "142.132.159.202";
in
{
  imports = [
    ./fs.nix
  ];

  boot.initrd.availableKernelModules = [ "ahci" "nvme" ];
  boot.kernelModules = [ "kvm-amd" ];

  boot.loader.grub = {
    mirroredBoots = [
      { devices = [ "/dev/sdd" ]; path = "/boot"; }
      { devices = [ "/dev/sdc" ]; path = "/boot2"; }
      { devices = [ "/dev/sda" ]; path = "/boot3"; }
      { devices = [ "/dev/sdb" ]; path = "/boot4"; }
    ];
  };

  networking = {
    domain = "vapor.systems";
    hostName = "phaenn";
    hostId = "f9274217";
    interfaces.eth0.ipv4.addresses = [{
      address = endpoint;
      prefixLength = 26;
    }];
    interfaces.eth0.ipv6.addresses = [{
      address = "2a01:4f8:261:3a04::1";
      prefixLength = 64;
    }];
    defaultGateway = "142.132.159.193";
    defaultGateway6 = {
      address = "fe80::1";
      interface = "eth0";
    };
  };

  pubKey =
    "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFdujV+knnOzP+oW6C42yWRJVhkSR+lcdx+FUsCP3Q1v root@phaenn";

  wireguard = {
    enable = true;
    roaming = true;
    inherit endpoint;
    v4 = { address = "10.10.0.2"; };
    v6 = { address = "2"; };
    publicKey = "GmUvA3L8M2+N59my6MeoGwDD8puLOO5/Rbe29WtduBI=";
    allowedIPs = [ "10.102.1.0/24" "fd15:3d8c:d429:102:100::/72" ];
  };

  deploy = {
    host = endpoint;
    buildOn = "remote";
    substituteOnTarget = true;
    hermetic = false;
  };
}