mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
81 lines
2.2 KiB
Nix
81 lines
2.2 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
username = "meinhak99";
|
|
inherit (import ../lib/email.nix) defaults;
|
|
fu-defaults = rec {
|
|
imap.host = "mail.zedat.fu-berlin.de";
|
|
smtp.host = imap.host;
|
|
folders.drafts = "Entwürfe";
|
|
folders.sent = "Gesendet";
|
|
folders.trash = "Papierkorb";
|
|
};
|
|
in {
|
|
home-manager.users.me = {
|
|
programs.ssh = {
|
|
matchBlocks = {
|
|
fu-berlin = {
|
|
user = username;
|
|
hostname = "login.zedat.fu-berlin.de";
|
|
setEnv.TERM = "xterm";
|
|
};
|
|
};
|
|
};
|
|
accounts.email.accounts = {
|
|
fu-student =
|
|
lib.recursiveUpdate defaults
|
|
(lib.recursiveUpdate fu-defaults
|
|
rec {
|
|
userName = "meinhak99";
|
|
address = "kieran.meinhardt@fu-berlin.de";
|
|
aliases = ["${userName}@fu-berlin.de"];
|
|
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhak99.path}";
|
|
});
|
|
};
|
|
};
|
|
|
|
systemd.user.services.fu-blackboard-calendar = {
|
|
enable = true;
|
|
# startAt = "*:00/10";
|
|
after = ["vdirsyncer.service"];
|
|
wantedBy = ["default.target"];
|
|
script = ''
|
|
${pkgs.curl}/bin/curl $(cat ${config.age.secrets.blackboard-calendar-ics.path}) | ${pkgs.khal}/bin/khal import -
|
|
'';
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
Restart = "on-failure";
|
|
};
|
|
};
|
|
|
|
age.secrets = {
|
|
email-password-meinhak99 = {
|
|
file = ../secrets/email-password-meinhak99.age;
|
|
owner = config.users.users.me.name;
|
|
group = config.users.users.me.group;
|
|
mode = "400";
|
|
};
|
|
blackboard-calendar-ics = {
|
|
file = ../secrets/blackboard-calendar-ics.age;
|
|
owner = config.users.users.me.name;
|
|
group = config.users.users.me.group;
|
|
mode = "400";
|
|
};
|
|
};
|
|
|
|
systemd.services.fu-vpn = {
|
|
enable = true;
|
|
wants = ["network-online.target"];
|
|
serviceConfig.LoadCredential = "password:${config.age.secrets.email-password-meinhak99.path}";
|
|
script = ''
|
|
if ${pkgs.wirelesstools}/bin/iwgetid | ${pkgs.gnugrep}/bin/grep --invert-match eduroam
|
|
then
|
|
cat "$CREDENTIALS_DIRECTORY/password" | ${pkgs.openconnect}/bin/openconnect vpn.fu-berlin.de --user ${username} --passwd-on-stdin
|
|
fi
|
|
'';
|
|
};
|
|
}
|