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/shadow.nix
|
||||||
./programs/ssh.nix
|
./programs/ssh.nix
|
||||||
./programs/ssmtp.nix
|
./programs/ssmtp.nix
|
||||||
|
./programs/wvdial.nix
|
||||||
./rename.nix
|
./rename.nix
|
||||||
./security/ca.nix
|
./security/ca.nix
|
||||||
./security/consolekit.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…
x
Reference in New Issue
Block a user