forked from mirrors/nixpkgs
modules/programs/wvdial.nix: added support for configuring wvdial
For example, I use the following settings to configure T-Mobile Internet access on my laptop, which is connected to the cell phone by USB: | environment.wvdial.dialerDefaults = '' | Init1 = AT+CGDCONT=1,"IP","internet.t-mobile" | Modem Type = USB Modem | Phone = *99# | ISDN = 0 | Username = tm | Password = tm | Modem = /dev/ttyACM0 | Baud = 460800 | ''; svn path=/nixos/trunk/; revision=30489
This commit is contained in:
parent
d89f4b6c76
commit
9de905ee61
|
@ -38,6 +38,7 @@
|
|||
./programs/shadow.nix
|
||||
./programs/ssh.nix
|
||||
./programs/ssmtp.nix
|
||||
./programs/wvdial.nix
|
||||
./rename.nix
|
||||
./security/ca.nix
|
||||
./security/consolekit.nix
|
||||
|
|
73
modules/programs/wvdial.nix
Normal file
73
modules/programs/wvdial.nix
Normal file
|
@ -0,0 +1,73 @@
|
|||
# Global configuration for wvdial.
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
with pkgs.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.string;
|
||||
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.string;
|
||||
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";
|
||||
}
|
||||
];
|
||||
|
||||
systemPackages = [ pkgs.wvdial ];
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
Loading…
Reference in a new issue