mirror of
https://github.com/kmein/niveum
synced 2026-03-21 04:11:07 +01:00
format
This commit is contained in:
138
configs/uni.nix
138
configs/uni.nix
@@ -3,20 +3,26 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
username = "meinhak99";
|
||||
fu-defaults = let mailhost = "mail.zedat.fu-berlin.de"; in {
|
||||
imap.host = mailhost;
|
||||
imap.port = 993;
|
||||
imap.tls.enable = true;
|
||||
smtp.host = mailhost;
|
||||
smtp.port = 465;
|
||||
smtp.tls.enable = true;
|
||||
folders.drafts = "Entwürfe";
|
||||
folders.sent = "Gesendet";
|
||||
folders.trash = "Papierkorb";
|
||||
};
|
||||
in {
|
||||
fu-defaults =
|
||||
let
|
||||
mailhost = "mail.zedat.fu-berlin.de";
|
||||
in
|
||||
{
|
||||
imap.host = mailhost;
|
||||
imap.port = 993;
|
||||
imap.tls.enable = true;
|
||||
smtp.host = mailhost;
|
||||
smtp.port = 465;
|
||||
smtp.tls.enable = true;
|
||||
folders.drafts = "Entwürfe";
|
||||
folders.sent = "Gesendet";
|
||||
folders.trash = "Papierkorb";
|
||||
};
|
||||
in
|
||||
{
|
||||
home-manager.users.me = {
|
||||
programs.ssh = {
|
||||
matchBlocks = {
|
||||
@@ -28,31 +34,33 @@ in {
|
||||
};
|
||||
};
|
||||
accounts.email.accounts = {
|
||||
letos =
|
||||
lib.recursiveUpdate pkgs.lib.niveum.email.defaults
|
||||
{
|
||||
userName = "slfletos";
|
||||
address = "letos.sprachlit@hu-berlin.de";
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-letos.path}";
|
||||
imap.host = "mailbox.cms.hu-berlin.de";
|
||||
imap.port = 993;
|
||||
smtp.host = "mailhost.cms.hu-berlin.de";
|
||||
smtp.port = 25;
|
||||
smtp.tls.useStartTls = true;
|
||||
};
|
||||
fu =
|
||||
lib.recursiveUpdate pkgs.lib.niveum.email.defaults
|
||||
(lib.recursiveUpdate fu-defaults
|
||||
(let userName = "meinhak99"; in {
|
||||
letos = lib.recursiveUpdate pkgs.lib.niveum.email.defaults {
|
||||
userName = "slfletos";
|
||||
address = "letos.sprachlit@hu-berlin.de";
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-letos.path}";
|
||||
imap.host = "mailbox.cms.hu-berlin.de";
|
||||
imap.port = 993;
|
||||
smtp.host = "mailhost.cms.hu-berlin.de";
|
||||
smtp.port = 25;
|
||||
smtp.tls.useStartTls = true;
|
||||
};
|
||||
fu = lib.recursiveUpdate pkgs.lib.niveum.email.defaults (
|
||||
lib.recursiveUpdate fu-defaults (
|
||||
let
|
||||
userName = "meinhak99";
|
||||
in
|
||||
{
|
||||
userName = userName;
|
||||
address = "kieran.meinhardt@fu-berlin.de";
|
||||
aliases = ["${userName}@fu-berlin.de"];
|
||||
aliases = [ "${userName}@fu-berlin.de" ];
|
||||
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhak99.path}";
|
||||
himalaya = {
|
||||
enable = true;
|
||||
settings.backend = "imap";
|
||||
};
|
||||
}));
|
||||
}
|
||||
)
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
@@ -82,59 +90,57 @@ in {
|
||||
system.fsPackages = [ pkgs.sshfs ];
|
||||
|
||||
# https://www.zedat.fu-berlin.de/tip4u_157.pdf
|
||||
fileSystems = let
|
||||
fu-berlin-cifs-options = [
|
||||
"uid=${toString config.users.users.me.uid}"
|
||||
"gid=${toString config.users.groups.users.gid}"
|
||||
"rw"
|
||||
"nounix"
|
||||
"domain=fu-berlin"
|
||||
"noauto"
|
||||
"x-systemd.automount"
|
||||
"x-systemd.device-timeout=1"
|
||||
"x-systemd.idle-timeout=1min"
|
||||
];
|
||||
fileSystems =
|
||||
let
|
||||
fu-berlin-cifs-options = [
|
||||
"uid=${toString config.users.users.me.uid}"
|
||||
"gid=${toString config.users.groups.users.gid}"
|
||||
"rw"
|
||||
"nounix"
|
||||
"domain=fu-berlin"
|
||||
"noauto"
|
||||
"x-systemd.automount"
|
||||
"x-systemd.device-timeout=1"
|
||||
"x-systemd.idle-timeout=1min"
|
||||
];
|
||||
|
||||
firstCharacter = lib.strings.substring 0 1;
|
||||
firstCharacter = lib.strings.substring 0 1;
|
||||
|
||||
home-directory-mount = user: {
|
||||
"${pkgs.lib.niveum.remoteDir}/fu/${user}/home" = {
|
||||
device = "${user}@login.zedat.fu-berlin.de:/home/${firstCharacter user}/${user}";
|
||||
fsType = "sshfs";
|
||||
options = [
|
||||
"allow_other"
|
||||
"_netdev"
|
||||
"x-systemd.automount"
|
||||
"reconnect"
|
||||
"ServerAliveInterval=15"
|
||||
"IdentityFile=${config.age.secrets.fu-sftp-key.path}"
|
||||
];
|
||||
home-directory-mount = user: {
|
||||
"${pkgs.lib.niveum.remoteDir}/fu/${user}/home" = {
|
||||
device = "${user}@login.zedat.fu-berlin.de:/home/${firstCharacter user}/${user}";
|
||||
fsType = "sshfs";
|
||||
options = [
|
||||
"allow_other"
|
||||
"_netdev"
|
||||
"x-systemd.automount"
|
||||
"reconnect"
|
||||
"ServerAliveInterval=15"
|
||||
"IdentityFile=${config.age.secrets.fu-sftp-key.path}"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
in home-directory-mount "meinhak99";
|
||||
in
|
||||
home-directory-mount "meinhak99";
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writers.writeDashBin "hu-vpn-split" ''
|
||||
${pkgs.openfortivpn}/bin/openfortivpn \
|
||||
--password="$(cat "${config.age.secrets.email-password-letos.path}")" \
|
||||
--config=${
|
||||
pkgs.writeText "hu-berlin-split.config" ''
|
||||
--config=${pkgs.writeText "hu-berlin-split.config" ''
|
||||
host = forti-ssl.vpn.hu-berlin.de
|
||||
port = 443
|
||||
username = slfletos@split_tunnel
|
||||
''
|
||||
}
|
||||
''}
|
||||
'')
|
||||
(pkgs.writers.writeDashBin "hu-vpn-full" ''
|
||||
${pkgs.openfortivpn}/bin/openfortivpn \
|
||||
--password="$(cat "${config.age.secrets.email-password-letos.path}")" \
|
||||
--config=${
|
||||
pkgs.writeText "hu-berlin-full.config" ''
|
||||
--config=${pkgs.writeText "hu-berlin-full.config" ''
|
||||
host = forti-ssl.vpn.hu-berlin.de
|
||||
port = 443
|
||||
username = slfletos@tunnel_all
|
||||
''
|
||||
}
|
||||
''}
|
||||
'')
|
||||
(pkgs.writers.writeDashBin "fu-vpn" ''
|
||||
if ${pkgs.wirelesstools}/bin/iwgetid | ${pkgs.gnugrep}/bin/grep --invert-match eduroam
|
||||
|
||||
Reference in New Issue
Block a user