nixos/wvdial: init module

Changed files
+48
nixos
modules
services
networking
+1
nixos/modules/module-list.nix
···
./services/networking/websockify.nix
./services/networking/wg-access-server.nix
./services/networking/wg-netmanager.nix
+
./services/networking/wvdial.nix
./services/networking/webhook.nix
./services/networking/wg-quick.nix
./services/networking/wgautomesh.nix
+47
nixos/modules/services/networking/wvdial.nix
···
+
# Global configuration for wvdial.
+
+
{
+
config,
+
lib,
+
pkgs,
+
...
+
}:
+
+
let
+
cfg = config.environment.wvdial;
+
in
+
{
+
options = {
+
environment.wvdial = {
+
dialerDefaults = lib.mkOption {
+
default = "";
+
type = lib.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 = lib.mkOption {
+
default = ''
+
noipdefault
+
usepeerdns
+
defaultroute
+
persist
+
noauth
+
'';
+
type = lib.types.str;
+
description = "Default ppp settings for wvdial.";
+
};
+
};
+
};
+
+
config = lib.mkIf (cfg.dialerDefaults != "") {
+
environment.etc."wvdial.conf".source = pkgs.writeText "wvdial.conf" ''
+
[Dialer Defaults]
+
PPPD PATH = ${pkgs.ppp}/sbin/pppd
+
${config.environment.wvdial.dialerDefaults}
+
'';
+
environment.etc."ppp/peers/wvdial".source = pkgs.writeText "wvdial" cfg.pppDefaults;
+
};
+
}