about summary refs log tree commit diff
path: root/modules/workstation/networking/default.nix
blob: 85149c7f8f93297faa61a9a5dca0ea2e6d1be8dd (plain) (blame)
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
{ pkgs, config, ... }:

{
  imports = [ ./castnow ];

  services.resolved.enable = true;

  networking.domain = "qyliss.net";
  networking.hosts = with config.networking;
    { "127.0.1.1" = [ "${hostName}.${domain}" ]; };

  networking.networkmanager.enable = true;

  users.users.qyliss.extraGroups = [ "networkmanager" ];

  # Plausible MAC randomization
  networking.networkmanager.ethernet.macAddress = "random";
  networking.networkmanager.wifi.macAddress = "random";
  networking.networkmanager.extraConfig = ''
    [connection-extra]
    ethernet.generate-mac-address-mask=FE:FF:FF:00:00:00
    wifi.generate-mac-address-mask=FE:FF:FF:00:00:00
  '';

  networking.nameservers = [ "::1" ];

  networking.networkmanager.dispatcherScripts = [
    {
      source = pkgs.writeText "doh-stub" ''
        if [ "$2" = up ]
        then systemctl restart doh-stub.service
        fi
      '';
      type = "basic";
    }
  ];

  systemd.services.doh-stub = {
    script = ''
      exec ${pkgs.doh-proxy}/bin/doh-stub \
          --level INFO \
          --domain qyliss.net \
          --remote-address 85.119.82.108
    '';
  };

  programs.mtr.enable = true;
}