{ config, pkgs, ... }: { sops.secrets.ppp_secrets = { path = "/etc/ppp/pap-secrets"; mode = "0440"; }; # Setting default routes based on interfaces in different tables environment.etc."ppp/ip-up" = { text = '' #! ${pkgs.runtimeShell} -e case $IFNAME in ppp-uplink-a) ip route flush table 20001 || true ip route add default dev ppp-uplink-a table 20001 ;; ppp-uplink-b) ip route flush table 20002 || true ip route add default dev ppp-uplink-b table 20002 ;; esac ''; mode = "555"; }; environment.etc."ppp/ip-down" = { text = '' #! ${pkgs.runtimeShell} -e case $IFNAME in ppp-uplink-a) ip route flush table 20001 || true ;; ppp-uplink-b) ip route flush table 20002 || true ;; esac ''; mode = "555"; }; environment.etc."ppp/ipv6-up" = { text = '' #! ${pkgs.runtimeShell} -e case $IFNAME in ppp-uplink-a) ip -6 route flush table 20001 || true ip -6 route add default dev ppp-uplink-a table 20001 ;; ppp-uplink-b) ip -6 route flush table 20002 || true ip -6 route add default dev ppp-uplink-b table 20002 ;; esac ''; mode = "555"; }; environment.etc."ppp/ipv6-down" = { text = '' #! ${pkgs.runtimeShell} -e case $IFNAME in ppp-uplink-a) ip -6 route flush table 20001 || true ;; ppp-uplink-b) ip -6 route flush table 20002 || true ;; esac ''; mode = "555"; }; }