From 7065673cdd2caad2c0bfa93177b81d853f34a1d3 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 24 Oct 2017 22:30:23 +0200 Subject: tv umts: import from lass --- tv/3modules/default.nix | 1 + tv/3modules/umts.nix | 112 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 tv/3modules/umts.nix diff --git a/tv/3modules/default.nix b/tv/3modules/default.nix index 493cc8b..0fcf8cc 100644 --- a/tv/3modules/default.nix +++ b/tv/3modules/default.nix @@ -5,6 +5,7 @@ ./hosts.nix ./iptables.nix ./nixpkgs-overlays.nix + ./umts.nix ./x0vncserver.nix ]; } diff --git a/tv/3modules/umts.nix b/tv/3modules/umts.nix new file mode 100644 index 0000000..ebf4f78 --- /dev/null +++ b/tv/3modules/umts.nix @@ -0,0 +1,112 @@ +{ config, lib, pkgs, ... }: + +with import ; + +let + cfg = config.tv.umts; + + out = { + options.tv.umts = api; + config = lib.mkIf cfg.enable imp; + }; + + api = { + enable = mkEnableOption "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 + ''; + }; + }; + + nixpkgs-1509 = import (pkgs.fetchFromGitHub { + owner = "NixOS"; repo = "nixpkgs-channels"; + rev = "91371c2bb6e20fc0df7a812332d99c38b21a2bda"; + sha256 = "1as1i0j9d2n3iap9b471y4x01561r2s3vmjc5281qinirlr4al73"; + }) {}; + + wvdial = nixpkgs-1509.wvdial; # https://github.com/NixOS/nixpkgs/issues/16113 + + umts-bin = pkgs.writeScriptBin "umts" '' + #!/bin/sh + set -euf + systemctl start umts + trap "systemctl stop umts;trap - INT TERM EXIT;exit" INT TERM EXIT + echo nameserver 8.8.8.8 | tee -a /etc/resolv.conf + journalctl -xfu umts + ''; + + wvdial-defaults = '' + [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 + ''; + + imp = { + environment.shellAliases = { + umts = "sudo ${umts-bin}/bin/umts"; + }; + + environment.systemPackages = [ + pkgs.ppp + ]; + + security.sudo.extraConfig = '' + tv ALL= (root) NOPASSWD: ${umts-bin}/bin/umts + ''; + + environment.etc = [ + { + source = pkgs.writeText "wvdial.conf" wvdial-defaults; + target = "wvdial.conf"; + } + { + source = pkgs.writeText "wvdial" cfg.pppDefaults; + target = "ppp/peers/wvdial"; + } + ]; + + systemd.services.umts = { + description = "UMTS wvdial Service"; + serviceConfig = { + Type = "simple"; + Restart = "always"; + RestartSec = "10s"; + ExecStart = "${wvdial}/bin/wvdial -n"; + }; + }; + }; + +in out -- cgit v1.2.3 From 2f39ef4e592dc8680da647c210a980eb10b52f2d Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 24 Oct 2017 22:48:57 +0200 Subject: tv umts: cleanup --- tv/3modules/umts.nix | 105 ++++++++++++++++++++++----------------------------- 1 file changed, 46 insertions(+), 59 deletions(-) diff --git a/tv/3modules/umts.nix b/tv/3modules/umts.nix index ebf4f78..a606270 100644 --- a/tv/3modules/umts.nix +++ b/tv/3modules/umts.nix @@ -1,17 +1,32 @@ -{ config, lib, pkgs, ... }: - with import ; +{ config, lib, pkgs, ... }: let -let cfg = config.tv.umts; - out = { - options.tv.umts = api; - config = lib.mkIf cfg.enable imp; - }; + 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 + ''; - api = { - enable = mkEnableOption "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"; @@ -43,61 +58,34 @@ let }; }; - nixpkgs-1509 = import (pkgs.fetchFromGitHub { - owner = "NixOS"; repo = "nixpkgs-channels"; - rev = "91371c2bb6e20fc0df7a812332d99c38b21a2bda"; - sha256 = "1as1i0j9d2n3iap9b471y4x01561r2s3vmjc5281qinirlr4al73"; - }) {}; - - wvdial = nixpkgs-1509.wvdial; # https://github.com/NixOS/nixpkgs/issues/16113 - - umts-bin = pkgs.writeScriptBin "umts" '' - #!/bin/sh - set -euf - systemctl start umts - trap "systemctl stop umts;trap - INT TERM EXIT;exit" INT TERM EXIT - echo nameserver 8.8.8.8 | tee -a /etc/resolv.conf - journalctl -xfu umts - ''; - - wvdial-defaults = '' - [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 - ''; - - imp = { - environment.shellAliases = { - umts = "sudo ${umts-bin}/bin/umts"; + 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 + ''; }; - environment.systemPackages = [ - pkgs.ppp + krebs.per-user.tv.packages = [ + (pkgs.writeDashBin "umts" '' + exec sudo ${umts-dial} + '') ]; security.sudo.extraConfig = '' - tv ALL= (root) NOPASSWD: ${umts-bin}/bin/umts + tv ALL= (root) NOPASSWD: ${umts-dial} ''; - environment.etc = [ - { - source = pkgs.writeText "wvdial.conf" wvdial-defaults; - target = "wvdial.conf"; - } - { - source = pkgs.writeText "wvdial" cfg.pppDefaults; - target = "ppp/peers/wvdial"; - } - ]; - systemd.services.umts = { description = "UMTS wvdial Service"; serviceConfig = { @@ -108,5 +96,4 @@ let }; }; }; - -in out +} -- cgit v1.2.3 From 21d7bcb9d92822099fa1cad443f3f71df302cfa0 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 24 Oct 2017 22:49:19 +0200 Subject: tv xu: enable umts --- tv/1systems/xu/config.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tv/1systems/xu/config.nix b/tv/1systems/xu/config.nix index 0363c98..08bdfa5 100644 --- a/tv/1systems/xu/config.nix +++ b/tv/1systems/xu/config.nix @@ -161,5 +161,14 @@ with import ; 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; } -- cgit v1.2.3 From fabbe4fb3eeb883df0d22b6fdf4bc051d527155b Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 26 Oct 2017 08:09:05 +0200 Subject: brscan4: init at 0.4.4-4 --- tv/5pkgs/default.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tv/5pkgs/default.nix b/tv/5pkgs/default.nix index 9dc7ae7..261871e 100644 --- a/tv/5pkgs/default.nix +++ b/tv/5pkgs/default.nix @@ -13,14 +13,6 @@ foldl' mergeAttrs {} // { - brscan4 = overrideDerivation super.brscan4 (original: rec { - name = "brscan4-0.4.4-4"; - src = super.fetchurl { - url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb"; - sha256 = "0xy5px96y1saq9l80vwvfn6anr2q42qlxdhm6ci2a0diwib5q9fd"; - }; - }); - # TODO use XDG_RUNTIME_DIR? cr = self.writeDashBin "cr" '' set -efu -- cgit v1.2.3 From 505066e4fd2df6e06fb27d2a427e8b618da7238e Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 26 Oct 2017 20:41:07 +0200 Subject: tv umts: RIP --- tv/1systems/xu/config.nix | 9 ----- tv/3modules/umts.nix | 99 ----------------------------------------------- 2 files changed, 108 deletions(-) delete mode 100644 tv/3modules/umts.nix diff --git a/tv/1systems/xu/config.nix b/tv/1systems/xu/config.nix index 08bdfa5..0363c98 100644 --- a/tv/1systems/xu/config.nix +++ b/tv/1systems/xu/config.nix @@ -161,14 +161,5 @@ with import ; 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/3modules/umts.nix b/tv/3modules/umts.nix deleted file mode 100644 index a606270..0000000 --- a/tv/3modules/umts.nix +++ /dev/null @@ -1,99 +0,0 @@ -with import ; -{ 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"; - }; - }; - }; -} -- cgit v1.2.3 From 035e16e8d90dca06270eb5befd57a5c3b23ffd10 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 26 Oct 2017 20:41:47 +0200 Subject: tv netzclub: init --- tv/1systems/xu/config.nix | 1 + tv/2configs/netzclub.nix | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tv/2configs/netzclub.nix diff --git a/tv/1systems/xu/config.nix b/tv/1systems/xu/config.nix index 0363c98..3e008a1 100644 --- a/tv/1systems/xu/config.nix +++ b/tv/1systems/xu/config.nix @@ -11,6 +11,7 @@ with import ; + diff --git a/tv/2configs/netzclub.nix b/tv/2configs/netzclub.nix new file mode 100644 index 0000000..659e0d4 --- /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 + ]; + +} -- cgit v1.2.3 From 9d24eeb66f2a3bed464058590d8d455da8ff5e7f Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 26 Oct 2017 20:45:30 +0200 Subject: tv xu: lol wvdial --- tv/1systems/xu/config.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/tv/1systems/xu/config.nix b/tv/1systems/xu/config.nix index 3e008a1..6c99f6b 100644 --- a/tv/1systems/xu/config.nix +++ b/tv/1systems/xu/config.nix @@ -100,7 +100,6 @@ with import ; #tlsdate #unetbootin #utillinuxCurses - #wvdial #xdotool #xkill #xl2tpd -- cgit v1.2.3 From 45a4d4cee0804bcf5a990b80704da66c90531938 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 26 Oct 2017 20:58:32 +0200 Subject: tv modules: rm umts --- tv/3modules/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/tv/3modules/default.nix b/tv/3modules/default.nix index 0fcf8cc..493cc8b 100644 --- a/tv/3modules/default.nix +++ b/tv/3modules/default.nix @@ -5,7 +5,6 @@ ./hosts.nix ./iptables.nix ./nixpkgs-overlays.nix - ./umts.nix ./x0vncserver.nix ]; } -- cgit v1.2.3 From 9714071658682985f192f6f1b40711626d0c11bb Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 26 Oct 2017 21:10:36 +0200 Subject: tv netzclub: { -> pkgs.}ppp --- tv/2configs/netzclub.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tv/2configs/netzclub.nix b/tv/2configs/netzclub.nix index 659e0d4..dc2de71 100644 --- a/tv/2configs/netzclub.nix +++ b/tv/2configs/netzclub.nix @@ -39,7 +39,7 @@ ''; environment.systemPackages = [ - ppp + pkgs.ppp ]; } -- cgit v1.2.3 From c955112de68aa948a9d41ba11cba22d270f3d479 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 26 Oct 2017 21:29:35 +0200 Subject: tv netzclub: fix example --- tv/2configs/netzclub.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tv/2configs/netzclub.nix b/tv/2configs/netzclub.nix index dc2de71..6e06005 100644 --- a/tv/2configs/netzclub.nix +++ b/tv/2configs/netzclub.nix @@ -1,6 +1,6 @@ { pkgs, ... }: { - # usage: ppp dial netzclub + # usage: pppd call netzclub environment.etc."ppp/peers/netzclub".text = '' /dev/ttyACM2 -- cgit v1.2.3 From 174e3a3d6d9823cf16e7fcd03dae6f5e44975ffa Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 26 Oct 2017 22:57:51 +0200 Subject: tv netzclub: add missing " --- tv/2configs/netzclub.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tv/2configs/netzclub.nix b/tv/2configs/netzclub.nix index 6e06005..c49498e 100644 --- a/tv/2configs/netzclub.nix +++ b/tv/2configs/netzclub.nix @@ -35,7 +35,7 @@ 'OK' 'ATDT*99***1#' TIMEOUT 30 CONNECT ''' - ''} + ''}" ''; environment.systemPackages = [ -- cgit v1.2.3 From c83d44e921d18d8be95e0b8f382b84699e8cba4e Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 27 Oct 2017 00:09:03 +0200 Subject: tv netzclub: simplify AT code --- tv/2configs/netzclub.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/tv/2configs/netzclub.nix b/tv/2configs/netzclub.nix index c49498e..7286bc8 100644 --- a/tv/2configs/netzclub.nix +++ b/tv/2configs/netzclub.nix @@ -25,16 +25,8 @@ 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 ''' + "" "ATDT*99#" + CONNECT "" ''}" ''; -- cgit v1.2.3 From 9125ba82302af07c11e5319ffbf10392ad2ba001 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 27 Oct 2017 01:35:04 +0200 Subject: tv: netzclub -> ppp --- tv/1systems/xu/config.nix | 2 +- tv/2configs/netzclub.nix | 37 ------------------------------------- tv/2configs/ppp.nix | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 38 deletions(-) delete mode 100644 tv/2configs/netzclub.nix create mode 100644 tv/2configs/ppp.nix diff --git a/tv/1systems/xu/config.nix b/tv/1systems/xu/config.nix index 6c99f6b..14926fe 100644 --- a/tv/1systems/xu/config.nix +++ b/tv/1systems/xu/config.nix @@ -11,9 +11,9 @@ with import ; - + diff --git a/tv/2configs/netzclub.nix b/tv/2configs/netzclub.nix deleted file mode 100644 index 7286bc8..0000000 --- a/tv/2configs/netzclub.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ pkgs, ... }: { - - # usage: pppd call 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 - "" "ATDT*99#" - CONNECT "" - ''}" - ''; - - environment.systemPackages = [ - pkgs.ppp - ]; - -} diff --git a/tv/2configs/ppp.nix b/tv/2configs/ppp.nix new file mode 100644 index 0000000..9cc7568 --- /dev/null +++ b/tv/2configs/ppp.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: { + + # usage: pppd call default + + environment.etc."ppp/peers/default".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 "default.chat" '' + ABORT "BUSY" + ABORT "NO CARRIER" + REPORT CONNECT + "" "ATDT*99#" + CONNECT + ''}" + ''; + + environment.systemPackages = [ + pkgs.ppp + ]; + +} -- cgit v1.2.3