{ roles.default.perInstance = { ... }: { nixosModule = { lib, ... }: { systemd.network.networks."45-ppp0" = { matchConfig.Name = "ppp0"; networkConfig = { DHCP = "ipv6"; # pppd owns the v4 address/route on this link; don't let networkd # tear them down. KeepConfiguration = "static"; # Default v6 route comes from the ISP's RA when they send one. IPv6AcceptRA = true; }; # Many PPPoE ISPs never send an RA with the M flag; solicit regardless. dhcpV6Config.WithoutRA = "solicit"; linkConfig.RequiredForOnline = "no"; }; boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = lib.mkDefault 1; }; }; }