about summary refs log tree commit diff stats
path: root/sys/network
diff options
context:
space:
mode:
Diffstat (limited to 'sys/network')
-rw-r--r--sys/network/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/sys/network/default.nix b/sys/network/default.nix
new file mode 100644
index 00000000..9c570f3b
--- /dev/null
+++ b/sys/network/default.nix
@@ -0,0 +1,51 @@
+{
+  config,
+  lib,
+  ...
+}:
+{
+  systemd.network = {
+    networks = {
+      "tap0" = {
+        name = "tap0";
+        bridge = [
+          "virbr0"
+        ];
+      };
+      "enp4s0" = {
+        name = "enp4s0";
+        networkConfig = {
+          DHCP = "yes";
+          DNSOverTLS = "yes";
+          DNSSEC = "yes";
+        };
+        bridge = [
+          "virbr0"
+        ];
+      };
+    };
+    netdevs = {
+      "tap0" = {
+        netdevConfig = {
+          Name = "tap0";
+          Kind = "tap";
+        };
+        tapConfig = {
+          User = "${config.users.users.soispha.uid}";
+          Group = "libvirtd";
+        };
+      };
+      "virbr0" = {
+        netdevConfig = {
+          Name = "br0";
+          Kind = "bridge";
+        };
+      };
+    };
+  };
+}
+// lib.mkIf config.networking.networkmanager.enable {
+  users.users.soispha.extraGroups = [
+    "networkmanager" # allows to configure networkmanager as this user
+  ];
+}