Author: simons
Date: Sun Nov 20 10:38:26 2011
New Revision: 30489
URL: https://nixos.org/websvn/nix/?rev=30489&sc=1

Log:
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
 | '';

Added:
   nixos/trunk/modules/programs/wvdial.nix
Modified:
   nixos/trunk/modules/module-list.nix

Modified: nixos/trunk/modules/module-list.nix
==============================================================================
--- nixos/trunk/modules/module-list.nix Sun Nov 20 10:21:38 2011        (r30488)
+++ nixos/trunk/modules/module-list.nix Sun Nov 20 10:38:26 2011        (r30489)
@@ -38,6 +38,7 @@
   ./programs/shadow.nix
   ./programs/ssh.nix
   ./programs/ssmtp.nix
+  ./programs/wvdial.nix
   ./rename.nix
   ./security/ca.nix
   ./security/consolekit.nix

Added: nixos/trunk/modules/programs/wvdial.nix
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixos/trunk/modules/programs/wvdial.nix     Sun Nov 20 10:38:26 2011        
(r30489)
@@ -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 ];
+
+    };
+
+  };
+
+}
_______________________________________________
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to