1
0
mirror of https://github.com/kmein/niveum synced 2026-03-17 18:41:09 +01:00
Files
niveum/configs/hu-berlin.nix

86 lines
2.3 KiB
Nix
Raw Normal View History

{ config, pkgs, lib, ... }:
2019-01-08 18:22:54 +01:00
let
2020-01-18 08:02:02 +01:00
inherit (lib.strings) fileContents;
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
};
fileSystems."/mnt/moodle" = {
device = "moodle@toum.r:/var/lib/moodle";
fsType = "fuse.sshfs";
options = [
"IdentityFile=/root/.ssh/id_rsa"
"Port=${toString sshPort}"
"_netdev"
"allow_other"
"default_permissions"
"gid=100"
"idmap=user"
# "noatime"
"noauto"
# "nodiratime"
"x-systemd.nofail"
"reconnect"
"ro"
"uid=1000"
"x-systemd.automount"
"x-systemd.device-timeout=1s"
"x-systemd.idle-timeout=1min"
"x-systemd.mount-timeout=1s"
"x-systemd.requires=tinc.retiolum.service"
"x-systemd.requires=wpa_supplicant.service"
];
};
2020-09-03 19:16:27 +02:00
environment.systemPackages = [
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
};
}