1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/configs/hu-berlin.nix

91 lines
2.7 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
};
hu-berlin-cifs-options = [
"uid=${toString config.users.users.me.uid}"
"gid=${toString config.users.groups.users.gid}"
"sec=ntlmv2"
"workgroup=german"
"username=meinhaki"
"password=${lib.strings.fileContents <secrets/mail/meinhaki>}"
"noauto"
"x-systemd.requires=openvpn-hu-berlin.service"
"x-systemd.automount"
"x-systemd.device-timeout=1"
"x-systemd.idle-timeout=1min"
];
2019-01-08 18:22:54 +01:00
in {
fileSystems."/media/hu-berlin/germpro2" = {
device = "//hugerm31c.user.hu-berlin.de/germpro2/ling";
fsType = "cifs";
options = hu-berlin-cifs-options;
};
fileSystems."/media/hu-berlin/germhome" = {
device = "//hugerm31c.user.hu-berlin.de/germhome/ling/meinhaki";
fsType = "cifs";
options = hu-berlin-cifs-options;
};
2021-12-02 14:19:14 +01:00
home-manager.users.me.programs.ssh = {
matchBlocks = {
"alew.hu-berlin.de" = {
user = "centos";
hostname = "141.20.187.219";
};
};
};
2020-12-28 19:50:34 +01:00
environment.systemPackages = [
(pkgs.writers.writeDashBin "hu-ip" ''
${pkgs.w3m}/bin/w3m -dump meineip.hu-berlin.de | head --lines=-4 | tail --lines=+3
'')
(pkgs.writers.writePython3Bin "hu-eduroam-install"
{
libraries = with pkgs.python3Packages; [ distro pyopenssl dbus-python ];
flakeIgnore = [ "E501" "E123" "W504" "E722" "F821" "E226" "E126" "E265" "W291" ];
}
(builtins.readFile (builtins.fetchurl {
url = "https://www.cms.hu-berlin.de/de/dl/netze/wlan/config/eduroam/linux-installer/eduroam-linux-hub.py";
sha256 = "19x2kvwxx13265b2hj5fjf53g0liw6dw7xf9j9cav67cswmz60kf";
}))
)
2020-12-28 19:50:34 +01:00
];
systemd.services.hu-vpn = {
2021-12-13 11:57:27 +01:00
enable = true;
wants = [ "network-online.target" ];
conflicts = [ "openvpn-hu-berlin.service" ];
script = ''
${pkgs.openfortivpn}/bin/openfortivpn -c ${pkgs.writeText "hu-berlin.config" ''
2020-09-03 19:16:27 +02:00
host = forti-ssl.vpn.hu-berlin.de
port = 443
trusted-cert = 42193a913d276d9eb86217612956e1e6464d6f07bed5393a4787c87adc4bd359
2020-09-03 19:16:27 +02:00
username = ${eduroam.identity}
password = ${eduroam.password}
2020-09-03 19:16:27 +02:00
''}
'';
};
2020-09-03 19:16:27 +02:00
systemd.services.openvpn-hu-berlin.conflicts = [ "hu-vpn.service" ];
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
};
}