summaryrefslogtreecommitdiff
path: root/hosts/toaster/network/default.nix
blob: 6504dbb0998b3ec5d1890f7d2cb8dfedb046b3a4 (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
{ lib, config, ... }:
{
  imports = [
    ./mullvad.nix
    ./dumpdvb.nix
    ./zw.nix
  ];

  # Networkmanager shouldn't interfere with systemd managed interfaces
  networking.networkmanager = {
    enable = true;
    unmanaged =
      let
        systemd_netdevs = lib.attrsets.attrValues (
          lib.attrsets.mapAttrs (_name: value: value.netdevConfig.Name) config.systemd.network.netdevs
        );
      in
      systemd_netdevs;
  };

  systemd.network = {
    enable = true;
    wait-online.enable = false; # uplink is managed by networkmanager
  };

  users.users."0xa".extraGroups = [ "networkmanager" ];

  networking = {
    hostName = "toaster";
    firewall.enable = true;
    wireguard.enable = true;
  };

  services.resolved = {
    enable = true;
    dnssec = "false";
    fallbackDns = [
      "9.9.9.9"
      "2620:fe::fe"
      "149.112.112.112"
      "2620:fe::9"
    ];
  };

}