diff options
Diffstat (limited to 'makefu/3modules')
| -rw-r--r-- | makefu/3modules/default.nix | 1 | ||||
| -rw-r--r-- | makefu/3modules/wvdial.nix | 71 | 
2 files changed, 72 insertions, 0 deletions
diff --git a/makefu/3modules/default.nix b/makefu/3modules/default.nix index 00df56bee..af0e81df5 100644 --- a/makefu/3modules/default.nix +++ b/makefu/3modules/default.nix @@ -15,6 +15,7 @@ _:      ./torrent.nix      ./udpt.nix      ./umts.nix +    ./wvdial.nix    ];  } diff --git a/makefu/3modules/wvdial.nix b/makefu/3modules/wvdial.nix new file mode 100644 index 000000000..1ed929ed4 --- /dev/null +++ b/makefu/3modules/wvdial.nix @@ -0,0 +1,71 @@ +# Global configuration for wvdial. + +{ config, lib, pkgs, ... }: + +with lib; + +let + +  configFile = '' +    [Dialer Defaults] +    PPPD PATH = ${pkgs.ppp}/sbin/pppd +    ${config.environment.wvdial.dialerDefaults} +  ''; + +  cfg = config.environment.wvdial; + +in +{ +  ###### interface + +  options = { + +    environment.wvdial = { + +      dialerDefaults = mkOption { +        default = ""; +        type = types.str; +        example = ''Init1 = AT+CGDCONT=1,"IP","internet.t-mobile"''; +        description = '' +          Contents of the "Dialer Defaults" section of +          <filename>/etc/wvdial.conf</filename>. +        ''; +      }; + +      pppDefaults = mkOption { +        default = '' +          noipdefault +          usepeerdns +          defaultroute +          persist +          noauth +        ''; +        type = types.str; +        description = "Default ppp settings for wvdial."; +      }; + +    }; + +  }; + +  ###### implementation + +  config = mkIf (cfg.dialerDefaults != "") { + +    environment = { + +      etc = +      [ +        { source = pkgs.writeText "wvdial.conf" configFile; +          target = "wvdial.conf"; +        } +        { source = pkgs.writeText "wvdial" cfg.pppDefaults; +          target = "ppp/peers/wvdial"; +        } +      ]; + +    }; + +  }; + +}  | 
