diff --git a/configs/aerc.nix b/configs/aerc.nix index 887bb6d..4a5be66 100644 --- a/configs/aerc.nix +++ b/configs/aerc.nix @@ -9,6 +9,13 @@ realName = "Kierán Meinhardt"; folders.inbox = "INBOX"; }; + fu-defaults = rec { + imap.host = "mail.zedat.fu-berlin.de"; + smtp.host = imap.host; + folders.drafts = "Entwürfe"; + folders.sent = "Gesendet"; + folders.trash = "Papierkorb"; + }; hu-defaults = { imap.host = "mailbox.cms.hu-berlin.de"; imap.port = 993; @@ -111,6 +118,15 @@ in { }; accounts.email.accounts = rec { + 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}"; + }); hu-student = lib.recursiveUpdate defaults (lib.recursiveUpdate hu-defaults diff --git a/configs/default.nix b/configs/default.nix index 8f2138d..3fc94e1 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -259,6 +259,7 @@ in { ./hledger.nix ./htop.nix ./hu-berlin.nix + ./fu-berlin.nix ./i3.nix ./i3status-rust.nix ./keyboard.nix diff --git a/configs/fu-berlin.nix b/configs/fu-berlin.nix new file mode 100644 index 0000000..5cf821a --- /dev/null +++ b/configs/fu-berlin.nix @@ -0,0 +1,59 @@ +{ + config, + pkgs, + ... +}: let + username = "meinhak99"; +in { + home-manager.users.me = { + programs.ssh = { + matchBlocks = { + fu-berlin = { + user = username; + hostname = "login.zedat.fu-berlin.de"; + setEnv.TERM = "xterm"; + }; + }; + }; + }; + + systemd.user.services.fu-blackboard-calendar = { + enable = true; + # startAt = "*:00/10"; + after = ["vdirsyncer.service"]; + wantedBy = ["default.target"]; + script = '' + ics_url=$(cat "$CREDENTIALS_DIRECTORY/ics-url") + curl "$ics_url" | ${pkgs.khal}/bin/khal import - + ''; + serviceConfig = { + Type = "oneshot"; + Restart = "on-failure"; + LoadCredential = "ics-url:${config.age.secrets.blackboard-calendar-ics.path}"; + }; + }; + + 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; + }; + }; + + 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 + ''; + }; +} diff --git a/configs/hu-berlin.nix b/configs/hu-berlin.nix index 9998e1a..b855eeb 100644 --- a/configs/hu-berlin.nix +++ b/configs/hu-berlin.nix @@ -4,12 +4,6 @@ lib, ... }: let - inherit (lib.strings) fileContents; - inherit (import ../lib) sshPort; - eduroam = { - identity = fileContents ; - password = fileContents ; - }; hu-berlin-cifs-options = [ "uid=${toString config.users.users.me.uid}" "gid=${toString config.users.groups.users.gid}" @@ -17,7 +11,6 @@ "workgroup=german" "credentials=${config.age.secrets.cifs-credentials-hu-berlin.path}" "noauto" - # "x-systemd.requires=hu-vpn.service" "x-systemd.automount" "x-systemd.device-timeout=1" "x-systemd.idle-timeout=1min" diff --git a/configs/i3status-rust.nix b/configs/i3status-rust.nix index 7d6d00c..3c1bf8f 100644 --- a/configs/i3status-rust.nix +++ b/configs/i3status-rust.nix @@ -110,6 +110,12 @@ missing_format = ""; device = "ppp0"; } + { + block = "net"; + format = " $icon FU"; + missing_format = ""; + device = "tun0"; + } { block = "net"; device = config.niveum.wirelessInterface; diff --git a/secrets b/secrets index d0b68f8..aaefa9e 160000 --- a/secrets +++ b/secrets @@ -1 +1 @@ -Subproject commit d0b68f81a538892ef97321d6caea0a3c69565603 +Subproject commit aaefa9ed14fac862ebc6699b3d3ae6c2544dbfbb