Merge remote-tracking branch 'prism/lassulus'

This commit is contained in:
tv 2016-07-07 23:02:41 +02:00
commit f18ababed5
8 changed files with 74 additions and 26 deletions

View File

@ -2,7 +2,14 @@
with config.krebs.lib; with config.krebs.lib;
let let
buildbot = pkgs.buildbot;
nixpkgs-1509 = import (pkgs.fetchFromGitHub {
owner = "NixOS"; repo = "nixpkgs-channels";
rev = "91371c2bb6e20fc0df7a812332d99c38b21a2bda";
sha256 = "1as1i0j9d2n3iap9b471y4x01561r2s3vmjc5281qinirlr4al73";
}) {};
buildbot = nixpkgs-1509.buildbot;
buildbot-master-config = pkgs.writeText "buildbot-master.cfg" '' buildbot-master-config = pkgs.writeText "buildbot-master.cfg" ''
# -*- python -*- # -*- python -*-
from buildbot.plugins import * from buildbot.plugins import *

View File

@ -38,14 +38,6 @@ with config.krebs.lib;
ReaktorPlugins = callPackage ./Reaktor/plugins.nix {}; ReaktorPlugins = callPackage ./Reaktor/plugins.nix {};
buildbot = callPackage <nixpkgs/pkgs/development/tools/build-managers/buildbot> {
inherit (pkgs.pythonPackages) twisted jinja2;
dateutil = pkgs.pythonPackages.dateutil_1_5;
sqlalchemy_migrate_0_7 = pkgs.pythonPackages.sqlalchemy_migrate_func (pkgs.pythonPackages.sqlalchemy7.override {
doCheck = false;
});
};
# XXX symlinkJoin changed arguments somewhere around nixpkgs d541e0d # XXX symlinkJoin changed arguments somewhere around nixpkgs d541e0d
symlinkJoin = { name, paths, ... }@args: let symlinkJoin = { name, paths, ... }@args: let
x = pkgs.symlinkJoin args; x = pkgs.symlinkJoin args;

View File

@ -25,7 +25,6 @@
../2configs/c-base.nix ../2configs/c-base.nix
../2configs/mail.nix ../2configs/mail.nix
../2configs/krebs-pass.nix ../2configs/krebs-pass.nix
../2configs/umts.nix
../2configs/repo-sync.nix ../2configs/repo-sync.nix
{ {
#risk of rain port #risk of rain port
@ -54,6 +53,16 @@
# package = pkgs.postgresql; # package = pkgs.postgresql;
# }; # };
#} #}
{
lass.umts = {
enable = true;
modem = "/dev/serial/by-id/usb-Lenovo_F5521gw_38214921FBBBC7B0-if09";
initstrings = ''
Init1 = AT+CFUN=1
Init2 = AT+CGDCONT=1,"IP","pinternet.interkom.de","",0,0
'';
};
}
]; ];
krebs.build.host = config.krebs.hosts.mors; krebs.build.host = config.krebs.hosts.mors;

View File

@ -16,6 +16,12 @@ with builtins;
../2configs/bitlbee.nix ../2configs/bitlbee.nix
../2configs/weechat.nix ../2configs/weechat.nix
../2configs/skype.nix ../2configs/skype.nix
{
lass.umts = {
enable = true;
modem = "/dev/serial/by-id/usb-HUAWEI_Technologies_HUAWEI_Mobile-if00-port0";
};
}
]; ];
krebs.build.host = config.krebs.hosts.uriel; krebs.build.host = config.krebs.hosts.uriel;
@ -33,8 +39,8 @@ with builtins;
#loader.grub.version = 2; #loader.grub.version = 2;
#loader.grub.device = "/dev/sda"; #loader.grub.device = "/dev/sda";
loader.gummiboot.enable = true; loader.systemd-boot.enable = true;
loader.gummiboot.timeout = 5; loader.timeout = 5;
initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda2"; } ]; initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda2"; } ];
initrd.luks.cryptoModules = [ "aes" "sha512" "sha1" "xts" ]; initrd.luks.cryptoModules = [ "aes" "sha512" "sha1" "xts" ];

View File

@ -66,7 +66,7 @@ with config.krebs.lib;
}; };
}; };
nix.useSandbox = true; nix.useChroot = true;
users.mutableUsers = false; users.mutableUsers = false;

View File

@ -5,6 +5,7 @@ _:
./folderPerms.nix ./folderPerms.nix
./mysql-backup.nix ./mysql-backup.nix
./power-action.nix ./power-action.nix
./umts.nix
./urxvtd.nix ./urxvtd.nix
./wordpress_nginx.nix ./wordpress_nginx.nix
./xresources.nix ./xresources.nix

View File

@ -12,6 +12,10 @@ let
api = { api = {
enable = mkEnableOption "power-action"; enable = mkEnableOption "power-action";
battery = mkOption {
type = types.str;
default = "BAT0";
};
user = mkOption { user = mkOption {
type = types.user; type = types.user;
default = { default = {
@ -80,11 +84,11 @@ let
"if [ $power -ge ${toString plan.lowerLimit} ] && [ $power -le ${toString plan.upperLimit} ] ${charging_check plan}; then ${plan.action}; fi"; "if [ $power -ge ${toString plan.lowerLimit} ] && [ $power -le ${toString plan.upperLimit} ] ${charging_check plan}; then ${plan.action}; fi";
powerlvl = pkgs.writeDash "powerlvl" '' powerlvl = pkgs.writeDash "powerlvl" ''
cat /sys/class/power_supply/BAT0/capacity cat /sys/class/power_supply/${cfg.battery}/capacity
''; '';
state = pkgs.writeDash "state" '' state = pkgs.writeDash "state" ''
if [ "$(cat /sys/class/power_supply/BAT0/status)" = "Discharging" ] if [ "$(cat /sys/class/power_supply/${cfg.battery}/status)" = "Discharging" ]
then echo "false" then echo "false"
else echo "true" else echo "true"
fi fi

View File

@ -3,6 +3,36 @@
with config.krebs.lib; with config.krebs.lib;
let let
cfg = config.lass.umts;
out = {
options.lass.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";
};
};
nixpkgs-1509 = import (pkgs.fetchFromGitHub { nixpkgs-1509 = import (pkgs.fetchFromGitHub {
owner = "NixOS"; repo = "nixpkgs-channels"; owner = "NixOS"; repo = "nixpkgs-channels";
rev = "91371c2bb6e20fc0df7a812332d99c38b21a2bda"; rev = "91371c2bb6e20fc0df7a812332d99c38b21a2bda";
@ -11,33 +41,32 @@ let
wvdial = nixpkgs-1509.wvdial; # https://github.com/NixOS/nixpkgs/issues/16113 wvdial = nixpkgs-1509.wvdial; # https://github.com/NixOS/nixpkgs/issues/16113
modem-device = "/dev/serial/by-id/usb-Lenovo_F5521gw_38214921FBBBC7B0-if09"; #modem-device = "/dev/serial/by-id/usb-Lenovo_F5521gw_38214921FBBBC7B0-if09";
modem-device = "/dev/serial/by-id/usb-HUAWEI_Technologies_HUAWEI_Mobile-if00-port0";
# TODO: currently it is only netzclub # TODO: currently it is only netzclub
umts-bin = pkgs.writeScriptBin "umts" '' umts-bin = pkgs.writeScriptBin "umts" ''
#!/bin/sh #!/bin/sh
set -euf set -euf
systemctl stop wpa_supplicant
systemctl start umts systemctl start umts
trap "systemctl stop umts && systemctl start wpa_supplicant;trap - INT TERM EXIT;exit" INT TERM EXIT trap "systemctl stop umts;trap - INT TERM EXIT;exit" INT TERM EXIT
echo nameserver 8.8.8.8 | tee -a /etc/resolv.conf echo nameserver 8.8.8.8 | tee -a /etc/resolv.conf
journalctl -xfu umts journalctl -xfu umts
''; '';
wvdial-defaults = '' wvdial-defaults = ''
Modem = ${modem-device} Modem = ${cfg.modem}
Init1 = AT+CFUN=1 ${cfg.initstrings}
Init2 = AT+CGDCONT=1,"IP","pinternet.interkom.de","",0,0 Modem Type = Analog Modem
Baud = 460800 Baud = 460800
phone= *99# phone= *99#
Username = netzclub Username = ${cfg.username}
Password = netzclub Password = ${cfg.password}
Stupid Mode = 1 Stupid Mode = 1
Idle Seconds = 0 Idle Seconds = 0
''; '';
imp = {
out = {
environment.shellAliases = { environment.shellAliases = {
umts = "sudo ${umts-bin}/bin/umts"; umts = "sudo ${umts-bin}/bin/umts";
}; };
@ -58,5 +87,5 @@ let
}; };
}; };
}; };
in out
in out