From d802fc961fa2ebcd6bcca0acb2ffb37856ed9bb6 Mon Sep 17 00:00:00 2001
From: Julien Malka <julien@malka.sh>
Date: Sat, 24 Aug 2024 02:12:38 +0200
Subject: [PATCH] feat: enable ipv6 for akhaten

---
 machines/akhaten/default.nix | 20 +++++++++++++++++++-
 machines/akhaten/nsd.nix     |  2 +-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/machines/akhaten/default.nix b/machines/akhaten/default.nix
index 08af3d9..3246353 100644
--- a/machines/akhaten/default.nix
+++ b/machines/akhaten/default.nix
@@ -13,6 +13,7 @@
     hm_version = inputs.home-manager-unstable;
     ips = {
       public.ipv4 = "163.172.91.82";
+      public.ipv6 = "2001:0bc8:3d24::45";
       vpn.ipv4 = "100.100.45.33";
     };
   };
@@ -49,7 +50,24 @@
       "10-wan" = {
         matchConfig.Name = "enp0s20";
         networkConfig = {
-          DHCP = "ipv4";
+          DHCP = "ipv6";
+          IPv6AcceptRA = true;
+        };
+        addresses = [
+          { Address = "163.172.91.82/24"; }
+          { Address = "2001:0bc8:3d24::45/64"; }
+        ];
+        gateway = [ "163.172.91.1" ];
+        dhcpV6Config = {
+          DUIDRawData = "00:01:62:7c:0e:d3:27:5b";
+          DUIDType = "link-layer";
+          UseAddress = "no";
+          WithoutRA = "solicit";
+        };
+        ipv6AcceptRAConfig = {
+          DHCPv6Client = "always";
+          UseOnLinkPrefix = false;
+          UseAutonomousPrefix = false;
         };
 
         linkConfig.RequiredForOnline = "routable";
diff --git a/machines/akhaten/nsd.nix b/machines/akhaten/nsd.nix
index e655ed2..d4497ba 100644
--- a/machines/akhaten/nsd.nix
+++ b/machines/akhaten/nsd.nix
@@ -44,9 +44,9 @@ in
 {
   services.nsd = {
     enable = true;
-    remoteControl.enable = true;
     interfaces = [
       config.machine.meta.ips.public.ipv4
+      config.machine.meta.ips.public.ipv6
       config.machine.meta.ips.vpn.ipv4
     ];
     zones = lib.mapAttrs (name: _: {