This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / 2configs / gg23.nix
3.0 kB 114 lines
1{ config, lib, pkgs, ... }: 2{ 3 # vodafone router drifts out of time 4 services.timesyncd.servers = [ 5 "0.pool.ntp.org" 6 "1.pool.ntp.org" 7 "2.pool.ntp.org" 8 "3.pool.ntp.org" 9 ]; 10 systemd.network.networks."50-et0" = { 11 matchConfig.Name = "et0"; 12 DHCP = "yes"; 13 # dhcpV4Config.UseDNS = false; 14 # dhcpV6Config.UseDNS = false; 15 linkConfig = { 16 RequiredForOnline = "routable"; 17 }; 18 networkConfig = { 19 LinkLocalAddressing = "no"; 20 }; 21 # dhcpV6Config = { 22 # PrefixDelegationHint = "::/60"; 23 # }; 24 # networkConfig = { 25 # IPv6AcceptRA = true; 26 # }; 27 # ipv6PrefixDelegationConfig = { 28 # Managed = true; 29 # }; 30 }; 31 boot.kernel.sysctl."net.ipv4.ip_forward" = 1; 32 systemd.network.networks."50-int0" = { 33 name = "int0"; 34 address = [ 35 "10.42.0.1/24" 36 ]; 37 networkConfig = { 38 # IPForward = "yes"; 39 # IPMasquerade = "both"; 40 ConfigureWithoutCarrier = true; 41 DHCPServer = "yes"; 42 # IPv6SendRA = "yes"; 43 # DHCPPrefixDelegation = "yes"; 44 }; 45 dhcpServerStaticLeases = [ 46 { # printer 47 dhcpServerStaticLeaseConfig = { 48 Address = "10.42.0.4"; 49 MACAddress = "3c:2a:f4:22:28:37"; 50 }; 51 } 52 { # firetv 53 dhcpServerStaticLeaseConfig = { 54 Address = "10.42.0.11"; 55 MACAddress = "84:28:59:f0:d2:a8"; 56 }; 57 } 58 # { 59 # dhcpServerStaticLeaseConfig = { 60 # Address = "10.42.0.10"; 61 # MACAddress = "ea:4d:12:94:74:2a"; 62 # }; 63 # } 64 { 65 dhcpServerStaticLeaseConfig = { 66 Address = "10.42.0.10"; 67 MACAddress = "fe:fe:fe:fe:fe:fe"; 68 }; 69 } 70 ]; 71 }; 72 networking.networkmanager.unmanaged = [ "int0" ]; 73 krebs.iptables.tables.filter.INPUT.rules = [ 74 { predicate = "-i int0"; target = "ACCEPT"; } 75 ]; 76 krebs.iptables.tables.filter.FORWARD.rules = [ 77 { predicate = "-i int0"; target = "ACCEPT"; } 78 { predicate = "-o int0"; target = "ACCEPT"; } 79 { predicate = "-p ipv6-icmp"; target = "ACCEPT"; v4 = false; } 80 ]; 81 krebs.iptables.tables.nat.PREROUTING.rules = lib.mkBefore [ 82 { v6 = false; predicate = "-s 10.42.0.0/24"; target = "ACCEPT"; } 83 ]; 84 krebs.iptables.tables.nat.POSTROUTING.rules = [ 85 { v6 = false; predicate = "-s 10.42.0.0/24"; target = "MASQUERADE"; } 86 ]; 87 88 networking.domain = "gg23"; 89 90 networking.useHostResolvConf = false; 91 services.resolved.extraConfig = '' 92 DNSStubListener=no 93 ''; 94 services.dnsmasq = { 95 enable = true; 96 resolveLocalQueries = false; 97 98 extraConfig = '' 99 local=/gg23/ 100 domain=gg23 101 expand-hosts 102 listen-address=10.42.0.1,10.233.0.1 103 interface=int0 104 ''; 105 }; 106 107 environment.systemPackages = [ 108 (pkgs.writers.writeDashBin "restart_router" '' 109 ${pkgs.mosquitto}/bin/mosquitto_pub -h localhost -t 'cmnd/router/POWER' -u gg23 -P gg23-mqtt -m OFF 110 sleep 2 111 ${pkgs.mosquitto}/bin/mosquitto_pub -h localhost -t 'cmnd/router/POWER' -u gg23 -P gg23-mqtt -m ON 112 '') 113 ]; 114}