Merge remote-tracking branch 'lass/master' into 20.03
This commit is contained in:
commit
07ab7b9519
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -10,6 +10,3 @@
|
||||
[submodule "jeschli/2configs/elisp"]
|
||||
path = jeschli/2configs/elisp
|
||||
url = https://github.com/Jeschli/misc-elisp-scripts.git
|
||||
[submodule "submodules/brockman"]
|
||||
path = submodules/brockman
|
||||
url = https://github.com/kmein/brockman.git
|
||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
description = "ublock origin firefox browser addon";
|
||||
homepage = https://github.com/gorhill/uBlock;
|
||||
license = licenses.gnu3;
|
||||
license = licenses.gpl3;
|
||||
maintainers = [];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
|
@ -71,14 +71,13 @@ in
|
||||
|
||||
config = mkIf cfg.enable (lib.mkMerge [
|
||||
{
|
||||
users.users = singleton {
|
||||
name = cfg.user;
|
||||
users.users.${cfg.user} = {
|
||||
description = "Charybdis IRC daemon user";
|
||||
uid = config.ids.uids.ircd;
|
||||
group = cfg.group;
|
||||
};
|
||||
|
||||
users.groups = singleton {
|
||||
users.groups.${cfg.group} = {
|
||||
name = cfg.group;
|
||||
gid = config.ids.gids.ircd;
|
||||
};
|
||||
@ -102,7 +101,7 @@ in
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
||||
(mkIf (cfg.motd != null) {
|
||||
environment.etc."charybdis/ircd.motd".text = cfg.motd;
|
||||
})
|
||||
|
@ -39,6 +39,7 @@ with import <stockholm/lib>;
|
||||
<stockholm/lass/2configs/network-manager.nix>
|
||||
<stockholm/lass/2configs/nfs-dl.nix>
|
||||
#<stockholm/lass/2configs/hardening.nix>
|
||||
<stockholm/lass/2configs/ppp.nix>
|
||||
{
|
||||
krebs.iptables.tables.filter.INPUT.rules = [
|
||||
#risk of rain
|
||||
@ -76,16 +77,6 @@ with import <stockholm/lib>;
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
lass.umts = {
|
||||
enable = true;
|
||||
modem = "/dev/serial/by-id/usb-Lenovo_F5521gw_2C7D8D7C35FC7040-if09";
|
||||
initstrings = ''
|
||||
Init1 = AT+CFUN=1
|
||||
Init2 = AT+CGDCONT=1,"IP","pinternet.interkom.de","",0,0
|
||||
'';
|
||||
};
|
||||
}
|
||||
{
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
|
@ -114,7 +114,7 @@ in {
|
||||
xkbOptions = "caps:escape";
|
||||
libinput.enable = true;
|
||||
displayManager.lightdm.enable = true;
|
||||
windowManager.default = "xmonad";
|
||||
displayManager.defaultSession = "none+xmonad";
|
||||
windowManager.session = [{
|
||||
name = "xmonad";
|
||||
start = ''
|
||||
|
@ -2,18 +2,6 @@
|
||||
{
|
||||
networking.wireless.enable = lib.mkForce false;
|
||||
|
||||
systemd.services.modemmanager = {
|
||||
description = "ModemManager";
|
||||
after = [ "network-manager.service" ];
|
||||
bindsTo = [ "network-manager.service" ];
|
||||
wantedBy = [ "network-manager.service" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.modemmanager}/bin/ModemManager";
|
||||
PrivateTmp = true;
|
||||
Restart = "always";
|
||||
RestartSec = "5";
|
||||
};
|
||||
};
|
||||
networking.networkmanager = {
|
||||
ethernet.macAddress = "random";
|
||||
wifi.macAddress = "random";
|
||||
|
32
lass/2configs/ppp.nix
Normal file
32
lass/2configs/ppp.nix
Normal file
@ -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
|
||||
];
|
||||
|
||||
}
|
@ -12,7 +12,6 @@ _:
|
||||
./pyload.nix
|
||||
./restic.nix
|
||||
./screenlock.nix
|
||||
./umts.nix
|
||||
./usershadow.nix
|
||||
./xjail.nix
|
||||
./autowifi.nix
|
||||
|
@ -1,112 +0,0 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with import <stockholm/lib>;
|
||||
|
||||
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";
|
||||
};
|
||||
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 = ''
|
||||
lass 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
|
@ -6,11 +6,11 @@ with import <stockholm/lib>;
|
||||
type = types.attrsOf (types.submodule ({ config, ...}: {
|
||||
options = {
|
||||
name = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
default = config._module.args.name;
|
||||
};
|
||||
user = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
default = config.name;
|
||||
};
|
||||
groups = mkOption {
|
||||
@ -18,11 +18,11 @@ with import <stockholm/lib>;
|
||||
default = [];
|
||||
};
|
||||
from = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
default = "lass";
|
||||
};
|
||||
display = mkOption {
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
default = toString (genid_uint31 config._module.args.name);
|
||||
};
|
||||
dpi = mkOption {
|
||||
@ -47,7 +47,7 @@ with import <stockholm/lib>;
|
||||
};
|
||||
wm = mkOption {
|
||||
#TODO find type
|
||||
type = types.string;
|
||||
type = types.str;
|
||||
default = "${pkgs.writeHaskellPackage "xephyrify-xmonad" {
|
||||
executables.xmonad = {
|
||||
extra-depends = [
|
||||
|
@ -7,7 +7,7 @@ let
|
||||
mkOptionType optional optionalAttrs optionals range splitString
|
||||
stringLength substring test testString typeOf;
|
||||
inherit (lib.types)
|
||||
attrsOf bool either enum int listOf nullOr path str string submodule;
|
||||
attrsOf bool either enum int listOf nullOr path str submodule;
|
||||
in
|
||||
|
||||
rec {
|
||||
@ -65,7 +65,7 @@ rec {
|
||||
extraZones = mkOption {
|
||||
default = {};
|
||||
# TODO: string is either MX, NS, A or AAAA
|
||||
type = attrsOf string;
|
||||
type = attrsOf str;
|
||||
};
|
||||
|
||||
secure = mkOption {
|
||||
@ -182,7 +182,7 @@ rec {
|
||||
extraConfig = mkOption {
|
||||
description = "Extra Configuration to be appended to the hosts file";
|
||||
default = "";
|
||||
type = string;
|
||||
type = str;
|
||||
};
|
||||
port = mkOption {
|
||||
type = int;
|
||||
|
@ -1 +0,0 @@
|
||||
Subproject commit 1a5b3faa1185f8c0e7861ebadf07e48ac4bdf7e9
|
Loading…
Reference in New Issue
Block a user