liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

default.nix (1114B)


      1 ## PPP
      2 ## ===
      3 ##
      4 ## A PPPoE (PPP over Ethernet) configuration to address the case where
      5 ## your Liminix device is connected to an upstream network using
      6 ## PPPoE. This is typical for UK broadband connections where the
      7 ## physical connection is made by OpenReach ("Fibre To The X") and
      8 ## common in some other localities as well: ask your ISP if this is
      9 ## you.
     10 
     11 { lib, pkgs, config, ...}:
     12 let
     13   inherit (lib) mkOption types;
     14   inherit (pkgs) liminix;
     15 in {
     16   options = {
     17     system.service.pppoe = mkOption {
     18       type = liminix.lib.types.serviceDefn;
     19     };
     20   };
     21   config = {
     22     system.service.pppoe = pkgs.liminix.callService ./pppoe.nix {
     23       interface = mkOption {
     24         type = liminix.lib.types.service;
     25         description = "ethernet interface to run PPPoE over";
     26       };
     27       ppp-options = mkOption {
     28         type = types.listOf types.str;
     29         description = "options supplied on ppp command line";
     30       };
     31     };
     32     kernel = {
     33       config = {
     34         PPP = "y";
     35         PPP_BSDCOMP = "y";
     36         PPP_DEFLATE = "y";
     37         PPP_ASYNC = "y";
     38         PPP_SYNC_TTY = "y";
     39       };
     40     };
     41   };
     42 }