about summary refs log tree commit diff
path: root/modules/workstation/networking/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/workstation/networking/default.nix')
-rw-r--r--modules/workstation/networking/default.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/workstation/networking/default.nix b/modules/workstation/networking/default.nix
new file mode 100644
index 000000000000..b813b33924a6
--- /dev/null
+++ b/modules/workstation/networking/default.nix
@@ -0,0 +1,36 @@
+{ pkgs, ... }:
+
+{
+  networking.networkmanager.enable = true;
+
+  # 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
+    '';
+  };
+}