Automtaically add ipv6 entries to nix flake
authorGavin John <redacted>
Fri, 17 Jan 2025 19:38:20 +0000 (11:38 -0800)
committerGavin John <redacted>
Mon, 20 Jan 2025 23:31:10 +0000 (15:31 -0800)
flake.nix

index c1b1bcb1723dec954087688bff852b5cd2defacb..646131c6fa6d8e861015002e4c2ebeedcb01383b 100644 (file)
--- a/flake.nix
+++ b/flake.nix
         in
         {
           options.networking.stevenBlackHosts = {
-            enable = mkEnableOption "Use Steven Black's hosts file as extra hosts.";
+            enable = mkEnableOption "Steven Black's hosts file";
+            enableIPv6 = mkEnableOption "IPv6 rules" // {
+              default = config.networking.enableIPv6;
+            };
             blockFakenews = mkEnableOption "Additionally block fakenews hosts.";
             blockGambling = mkEnableOption "Additionally block gambling hosts.";
             blockPorn = mkEnableOption "Additionally block porn hosts.";
           };
           config = mkIf cfg.enable {
             networking.extraHosts =
-              builtins.readFile (
-                "${self}/" + (if alternatesList != [] then alternatesPath else "") + "hosts"
-              );
+              let
+                orig = builtins.readFile ("${self}/" + (if alternatesList != [] then alternatesPath else "") + "hosts");
+                ipv6 = builtins.replaceStrings [ "0.0.0.0" ] [ "::" ] orig;
+              in orig + (optionalString cfg.enableIPv6 ("\n" + ipv6));
           };
         };
 
git clone https://git.99rst.org/PROJECT