Merge remote-tracking branch 'prism/lassulus'
This commit is contained in:
commit
f18ababed5
@ -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 *
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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" ];
|
||||||
|
@ -66,7 +66,7 @@ with config.krebs.lib;
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.useSandbox = true;
|
nix.useChroot = true;
|
||||||
|
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
Loading…
Reference in New Issue
Block a user