2020-10-31 20:52:10 +01:00
|
|
|
{ config, pkgs, lib, ... }:
|
2019-01-08 18:22:54 +01:00
|
|
|
let
|
2020-01-18 08:02:02 +01:00
|
|
|
inherit (lib.strings) fileContents;
|
2020-10-31 20:52:10 +01:00
|
|
|
inherit (import <niveum/lib>) sshPort;
|
2019-06-18 09:23:20 +02:00
|
|
|
eduroam = {
|
2020-09-24 19:25:47 +02:00
|
|
|
identity = fileContents <secrets/eduroam/identity>;
|
|
|
|
|
password = fileContents <secrets/eduroam/password>;
|
2019-06-18 09:23:20 +02:00
|
|
|
};
|
2019-05-14 07:18:04 +02:00
|
|
|
eduroamAuth = ''
|
|
|
|
|
key_mgmt=WPA-EAP
|
|
|
|
|
eap=TTLS
|
|
|
|
|
proto=RSN
|
|
|
|
|
identity="${eduroam.identity}"
|
|
|
|
|
anonymous_identity="anonymous@wlan.hu-berlin.de"
|
|
|
|
|
altsubject_match="DNS:srv1-radius.cms.hu-berlin.de;DNS:srv2-radius.cms.hu-berlin.de"
|
|
|
|
|
password="${eduroam.password}"
|
2020-06-10 17:37:25 +02:00
|
|
|
ca_cert="${
|
|
|
|
|
pkgs.fetchurl {
|
|
|
|
|
url =
|
|
|
|
|
"https://www.cms.hu-berlin.de/de/dl/netze/wlan/config/eduroam/t-telesec_globalroot_class_2.pem";
|
|
|
|
|
sha256 = "0if8aqd06sid7a0vw009zpa087wxcgdd2x6z2zs4pis5kvyqj2dk";
|
|
|
|
|
}
|
|
|
|
|
}"
|
2019-05-14 07:18:04 +02:00
|
|
|
phase2="auth=PAP"
|
|
|
|
|
'';
|
2019-01-08 18:22:54 +01:00
|
|
|
in {
|
|
|
|
|
networking.wireless.networks = {
|
2019-05-14 07:18:04 +02:00
|
|
|
eduroam_5GHz.auth = eduroamAuth;
|
|
|
|
|
eduroam.auth = eduroamAuth;
|
2019-01-08 18:22:54 +01:00
|
|
|
};
|
|
|
|
|
|
2020-10-31 20:52:10 +01:00
|
|
|
fileSystems."/mnt/moodle" = {
|
|
|
|
|
device = "moodle@toum.r:/var/lib/moodle";
|
|
|
|
|
fsType = "fuse.sshfs";
|
|
|
|
|
options = [
|
2020-11-01 08:25:11 +01:00
|
|
|
"IdentityFile=/root/.ssh/id_rsa"
|
|
|
|
|
"Port=${toString sshPort}"
|
|
|
|
|
"_netdev"
|
2020-10-31 20:52:10 +01:00
|
|
|
"allow_other"
|
|
|
|
|
"default_permissions"
|
|
|
|
|
"gid=100"
|
|
|
|
|
"idmap=user"
|
2020-11-01 22:05:59 +01:00
|
|
|
# "noatime"
|
2020-10-31 20:52:10 +01:00
|
|
|
"noauto"
|
2020-11-01 22:05:59 +01:00
|
|
|
# "nodiratime"
|
|
|
|
|
"x-systemd.nofail"
|
2020-10-31 20:52:10 +01:00
|
|
|
"reconnect"
|
|
|
|
|
"ro"
|
2020-11-01 08:25:11 +01:00
|
|
|
"uid=1000"
|
2020-10-31 20:52:10 +01:00
|
|
|
"x-systemd.automount"
|
|
|
|
|
"x-systemd.device-timeout=1s"
|
2020-11-01 08:25:11 +01:00
|
|
|
"x-systemd.idle-timeout=1min"
|
2020-10-31 20:52:10 +01:00
|
|
|
"x-systemd.mount-timeout=1s"
|
2020-11-01 08:25:11 +01:00
|
|
|
"x-systemd.requires=tinc.retiolum.service"
|
|
|
|
|
"x-systemd.requires=wpa_supplicant.service"
|
2020-10-31 20:52:10 +01:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
2020-09-03 19:16:27 +02:00
|
|
|
environment.systemPackages = [
|
2020-10-31 20:52:10 +01:00
|
|
|
pkgs.sshfsFuse
|
|
|
|
|
|
2020-09-03 19:16:27 +02:00
|
|
|
(pkgs.writers.writeDashBin "hu-vpn" ''
|
|
|
|
|
${pkgs.openfortivpn}/bin/openfortivpn -p "${eduroam.password}" -c ${pkgs.writeText "hu-berlin.config" ''
|
|
|
|
|
host = forti-ssl.vpn.hu-berlin.de
|
|
|
|
|
port = 443
|
|
|
|
|
trusted-cert = e5a7d56543002ffe1e8962caa5fd6d94053aa702381458247b670877a66f3c6f
|
|
|
|
|
username = ${eduroam.identity}
|
|
|
|
|
''}
|
|
|
|
|
'')
|
|
|
|
|
];
|
|
|
|
|
|
2020-01-18 08:02:02 +01:00
|
|
|
services.openvpn.servers.hu-berlin = {
|
|
|
|
|
autoStart = false;
|
|
|
|
|
authUserPass = {
|
|
|
|
|
username = eduroam.identity;
|
|
|
|
|
password = eduroam.password;
|
2019-01-08 18:22:54 +01:00
|
|
|
};
|
2020-01-18 08:02:02 +01:00
|
|
|
config = fileContents (pkgs.fetchurl {
|
2020-06-10 17:37:25 +02:00
|
|
|
url =
|
|
|
|
|
"https://www.cms.hu-berlin.de/de/dl/netze/vpn/openvpn/hu-berlin.ovpn";
|
2020-01-18 08:02:02 +01:00
|
|
|
sha256 = "15b55aibik5460svjq2gwxrcyh6ay4k8savd6cd5lncgndmd8p8h";
|
|
|
|
|
});
|
2019-01-08 18:22:54 +01:00
|
|
|
};
|
|
|
|
|
}
|