diff options
author | tv <tv@krebsco.de> | 2017-10-26 18:43:33 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2017-10-26 18:43:33 +0200 |
commit | d5fd5107e6cd8e4d1cd0e63420d35a9df5279e7f (patch) | |
tree | 05731b063ed6243632b6c3a61a329618da6a6951 /makefu/3modules/wvdial.nix | |
parent | 1993cbc42114c759a47fed8de1e73980d3df57d9 (diff) | |
parent | 458bd5f6bda5b5718959613ceb989862a530ed7b (diff) |
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'makefu/3modules/wvdial.nix')
-rw-r--r-- | makefu/3modules/wvdial.nix | 71 |
1 files changed, 71 insertions, 0 deletions
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"; + } + ]; + + }; + + }; + +} |