diff options
-rw-r--r-- | tv/1systems/xu/config.nix | 11 | ||||
-rw-r--r-- | tv/2configs/netzclub.nix | 45 | ||||
-rw-r--r-- | tv/3modules/umts.nix | 99 |
3 files changed, 46 insertions, 109 deletions
diff --git a/tv/1systems/xu/config.nix b/tv/1systems/xu/config.nix index 08bdfa52b..6c99f6bd2 100644 --- a/tv/1systems/xu/config.nix +++ b/tv/1systems/xu/config.nix @@ -11,6 +11,7 @@ with import <stockholm/lib>; <stockholm/tv/2configs/gitrepos.nix> <stockholm/tv/2configs/mail-client.nix> <stockholm/tv/2configs/man.nix> + <stockholm/tv/2configs/netzclub.nix> <stockholm/tv/2configs/nginx/krebs-pages.nix> <stockholm/tv/2configs/nginx/public_html.nix> <stockholm/tv/2configs/pulse.nix> @@ -99,7 +100,6 @@ with import <stockholm/lib>; #tlsdate #unetbootin #utillinuxCurses - #wvdial #xdotool #xkill #xl2tpd @@ -161,14 +161,5 @@ with import <stockholm/lib>; tv = "/home/tv/stockholm/tv/5pkgs"; }; - tv.umts = { - enable = true; - modem = "/dev/serial/by-id/usb-Lenovo_F5521gw_097EAD658B094860-if09"; - initstrings = '' - Init1 = AT+CFUN=1 - Init2 = AT+CGDCONT=1,"IP","pinternet.interkom.de","",0,0 - ''; - }; - virtualisation.virtualbox.host.enable = true; } diff --git a/tv/2configs/netzclub.nix b/tv/2configs/netzclub.nix new file mode 100644 index 000000000..659e0d4e4 --- /dev/null +++ b/tv/2configs/netzclub.nix @@ -0,0 +1,45 @@ +{ pkgs, ... }: { + + # usage: ppp dial netzclub + + environment.etc."ppp/peers/netzclub".text = '' + /dev/ttyACM2 + 921600 + crtscts + defaultroute + holdoff 10 + lock + maxfail 0 + noauth + nodetach + noipdefault + passive + persist + usepeerdns + connect "${pkgs.ppp}/bin/chat -f ${pkgs.writeText "netzclub.script" '' + ABORT 'BUSY' + ABORT 'NO CARRIER' + ABORT 'VOICE' + ABORT 'NO DIALTONE' + ABORT 'NO DIAL TONE' + ABORT 'NO ANSWER' + ABORT 'DELAYED' + REPORT CONNECT + TIMEOUT 6 + ''' 'ATQ0' + 'OK-AT-OK' 'ATZ' + TIMEOUT 3 + 'OK\d-AT-OK' 'ATI' + 'OK' 'ATZ' + 'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0' + 'OK' 'ATDT*99***1#' + TIMEOUT 30 + CONNECT ''' + ''} + ''; + + environment.systemPackages = [ + ppp + ]; + +} diff --git a/tv/3modules/umts.nix b/tv/3modules/umts.nix deleted file mode 100644 index a60627025..000000000 --- a/tv/3modules/umts.nix +++ /dev/null @@ -1,99 +0,0 @@ -with import <stockholm/lib>; -{ config, lib, pkgs, ... }: let - - cfg = config.tv.umts; - - umts-dial = pkgs.writeDash "umts-dial" '' - set -euf - ${pkgs.systemd}/bin/systemctl start umts - trap 'cleanup; trap - EXIT INT TERM' EXIT INT TERM - cleanup() { - ${pkgs.systemd}/bin/systemctl stop umts - } - echo nameserver 8.8.8.8 >> /etc/resolv.conf - ${pkgs.systemd}/bin/journalctl -xfu umts - ''; - - # https://github.com/NixOS/nixpkgs/issues/16113 - wvdial = let - nixpkgs-1509 = import (pkgs.fetchFromGitHub { - owner = "NixOS"; repo = "nixpkgs-channels"; - rev = "91371c2bb6e20fc0df7a812332d99c38b21a2bda"; - sha256 = "1as1i0j9d2n3iap9b471y4x01561r2s3vmjc5281qinirlr4al73"; - }) {}; - in - nixpkgs-1509.wvdial; - -in { - options.tv.umts = { - enable = mkEnableOption "tv.umts"; - modem = mkOption { - type = types.str; - default = "/dev/ttyUSB0"; - }; - initstrings = mkOption { - type = types.str; - default = '' - Init1 = ATZ - Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 - ''; - }; - username = mkOption { - type = types.str; - default = "default"; - }; - password = mkOption { - type = types.str; - default = "default"; - }; - pppDefaults = mkOption { - type = types.str; - default = '' - noipdefault - usepeerdns - defaultroute - persist - noauth - ''; - }; - }; - - config = lib.mkIf cfg.enable { - environment.etc = { - "ppp/peers/wvdial".text = cfg.pppDefaults; - "wvdial.conf".text = '' - [Dialer Defaults] - Modem = ${cfg.modem} - ${cfg.initstrings} - Modem Type = Analog Modem - Baud = 460800 - phone= *99# - Username = ${cfg.username} - Password = ${cfg.password} - Stupid Mode = 1 - Idle Seconds = 0 - PPPD Path = ${pkgs.ppp}/bin/pppd - ''; - }; - - krebs.per-user.tv.packages = [ - (pkgs.writeDashBin "umts" '' - exec sudo ${umts-dial} - '') - ]; - - security.sudo.extraConfig = '' - tv ALL= (root) NOPASSWD: ${umts-dial} - ''; - - systemd.services.umts = { - description = "UMTS wvdial Service"; - serviceConfig = { - Type = "simple"; - Restart = "always"; - RestartSec = "10s"; - ExecStart = "${wvdial}/bin/wvdial -n"; - }; - }; - }; -} |