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"]
|
[submodule "jeschli/2configs/elisp"]
|
||||||
path = jeschli/2configs/elisp
|
path = jeschli/2configs/elisp
|
||||||
url = https://github.com/Jeschli/misc-elisp-scripts.git
|
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; {
|
meta = with stdenv.lib; {
|
||||||
description = "ublock origin firefox browser addon";
|
description = "ublock origin firefox browser addon";
|
||||||
homepage = https://github.com/gorhill/uBlock;
|
homepage = https://github.com/gorhill/uBlock;
|
||||||
license = licenses.gnu3;
|
license = licenses.gpl3;
|
||||||
maintainers = [];
|
maintainers = [];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.all;
|
||||||
};
|
};
|
||||||
|
@ -71,14 +71,13 @@ in
|
|||||||
|
|
||||||
config = mkIf cfg.enable (lib.mkMerge [
|
config = mkIf cfg.enable (lib.mkMerge [
|
||||||
{
|
{
|
||||||
users.users = singleton {
|
users.users.${cfg.user} = {
|
||||||
name = cfg.user;
|
|
||||||
description = "Charybdis IRC daemon user";
|
description = "Charybdis IRC daemon user";
|
||||||
uid = config.ids.uids.ircd;
|
uid = config.ids.uids.ircd;
|
||||||
group = cfg.group;
|
group = cfg.group;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups = singleton {
|
users.groups.${cfg.group} = {
|
||||||
name = cfg.group;
|
name = cfg.group;
|
||||||
gid = config.ids.gids.ircd;
|
gid = config.ids.gids.ircd;
|
||||||
};
|
};
|
||||||
@ -102,7 +101,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
(mkIf (cfg.motd != null) {
|
(mkIf (cfg.motd != null) {
|
||||||
environment.etc."charybdis/ircd.motd".text = cfg.motd;
|
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/network-manager.nix>
|
||||||
<stockholm/lass/2configs/nfs-dl.nix>
|
<stockholm/lass/2configs/nfs-dl.nix>
|
||||||
#<stockholm/lass/2configs/hardening.nix>
|
#<stockholm/lass/2configs/hardening.nix>
|
||||||
|
<stockholm/lass/2configs/ppp.nix>
|
||||||
{
|
{
|
||||||
krebs.iptables.tables.filter.INPUT.rules = [
|
krebs.iptables.tables.filter.INPUT.rules = [
|
||||||
#risk of rain
|
#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 = {
|
services.nginx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -114,7 +114,7 @@ in {
|
|||||||
xkbOptions = "caps:escape";
|
xkbOptions = "caps:escape";
|
||||||
libinput.enable = true;
|
libinput.enable = true;
|
||||||
displayManager.lightdm.enable = true;
|
displayManager.lightdm.enable = true;
|
||||||
windowManager.default = "xmonad";
|
displayManager.defaultSession = "none+xmonad";
|
||||||
windowManager.session = [{
|
windowManager.session = [{
|
||||||
name = "xmonad";
|
name = "xmonad";
|
||||||
start = ''
|
start = ''
|
||||||
|
@ -2,18 +2,6 @@
|
|||||||
{
|
{
|
||||||
networking.wireless.enable = lib.mkForce false;
|
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 = {
|
networking.networkmanager = {
|
||||||
ethernet.macAddress = "random";
|
ethernet.macAddress = "random";
|
||||||
wifi.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
|
./pyload.nix
|
||||||
./restic.nix
|
./restic.nix
|
||||||
./screenlock.nix
|
./screenlock.nix
|
||||||
./umts.nix
|
|
||||||
./usershadow.nix
|
./usershadow.nix
|
||||||
./xjail.nix
|
./xjail.nix
|
||||||
./autowifi.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, ...}: {
|
type = types.attrsOf (types.submodule ({ config, ...}: {
|
||||||
options = {
|
options = {
|
||||||
name = mkOption {
|
name = mkOption {
|
||||||
type = types.string;
|
type = types.str;
|
||||||
default = config._module.args.name;
|
default = config._module.args.name;
|
||||||
};
|
};
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
type = types.string;
|
type = types.str;
|
||||||
default = config.name;
|
default = config.name;
|
||||||
};
|
};
|
||||||
groups = mkOption {
|
groups = mkOption {
|
||||||
@ -18,11 +18,11 @@ with import <stockholm/lib>;
|
|||||||
default = [];
|
default = [];
|
||||||
};
|
};
|
||||||
from = mkOption {
|
from = mkOption {
|
||||||
type = types.string;
|
type = types.str;
|
||||||
default = "lass";
|
default = "lass";
|
||||||
};
|
};
|
||||||
display = mkOption {
|
display = mkOption {
|
||||||
type = types.string;
|
type = types.str;
|
||||||
default = toString (genid_uint31 config._module.args.name);
|
default = toString (genid_uint31 config._module.args.name);
|
||||||
};
|
};
|
||||||
dpi = mkOption {
|
dpi = mkOption {
|
||||||
@ -47,7 +47,7 @@ with import <stockholm/lib>;
|
|||||||
};
|
};
|
||||||
wm = mkOption {
|
wm = mkOption {
|
||||||
#TODO find type
|
#TODO find type
|
||||||
type = types.string;
|
type = types.str;
|
||||||
default = "${pkgs.writeHaskellPackage "xephyrify-xmonad" {
|
default = "${pkgs.writeHaskellPackage "xephyrify-xmonad" {
|
||||||
executables.xmonad = {
|
executables.xmonad = {
|
||||||
extra-depends = [
|
extra-depends = [
|
||||||
|
@ -7,7 +7,7 @@ let
|
|||||||
mkOptionType optional optionalAttrs optionals range splitString
|
mkOptionType optional optionalAttrs optionals range splitString
|
||||||
stringLength substring test testString typeOf;
|
stringLength substring test testString typeOf;
|
||||||
inherit (lib.types)
|
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
|
in
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
@ -65,7 +65,7 @@ rec {
|
|||||||
extraZones = mkOption {
|
extraZones = mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
# TODO: string is either MX, NS, A or AAAA
|
# TODO: string is either MX, NS, A or AAAA
|
||||||
type = attrsOf string;
|
type = attrsOf str;
|
||||||
};
|
};
|
||||||
|
|
||||||
secure = mkOption {
|
secure = mkOption {
|
||||||
@ -182,7 +182,7 @@ rec {
|
|||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
description = "Extra Configuration to be appended to the hosts file";
|
description = "Extra Configuration to be appended to the hosts file";
|
||||||
default = "";
|
default = "";
|
||||||
type = string;
|
type = str;
|
||||||
};
|
};
|
||||||
port = mkOption {
|
port = mkOption {
|
||||||
type = int;
|
type = int;
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 1a5b3faa1185f8c0e7861ebadf07e48ac4bdf7e9
|
|
Loading…
Reference in New Issue
Block a user