diff --git a/configs/aerc.nix b/configs/aerc.nix index 4a5be66..f8082ed 100644 --- a/configs/aerc.nix +++ b/configs/aerc.nix @@ -4,25 +4,7 @@ lib, ... }: let - defaults = { - aerc.enable = true; - 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; - smtp.host = "mailhost.cms.hu-berlin.de"; - smtp.port = 25; - smtp.tls.useStartTls = true; - }; + inherit (import ../lib/email.nix) defaults; in { age.secrets = { email-password-cock = { @@ -31,42 +13,12 @@ in { group = config.users.users.me.group; mode = "400"; }; - email-password-fysi = { - file = ../secrets/email-password-fysi.age; - owner = config.users.users.me.name; - group = config.users.users.me.group; - mode = "400"; - }; email-password-posteo = { file = ../secrets/email-password-posteo.age; owner = config.users.users.me.name; group = config.users.users.me.group; mode = "400"; }; - email-password-meinhark = { - file = ../secrets/email-password-meinhark.age; - owner = config.users.users.me.name; - group = config.users.users.me.group; - mode = "400"; - }; - email-password-meinhaki = { - file = ../secrets/email-password-meinhaki.age; - owner = config.users.users.me.name; - group = config.users.users.me.group; - mode = "400"; - }; - email-password-dslalewa = { - file = ../secrets/email-password-dslalewa.age; - owner = config.users.users.me.name; - group = config.users.users.me.group; - mode = "400"; - }; - email-password-fsklassp = { - file = ../secrets/email-password-fsklassp.age; - owner = config.users.users.me.name; - group = config.users.users.me.group; - mode = "400"; - }; }; home-manager.users.me = { @@ -117,99 +69,7 @@ in { config.home-manager.users.me.accounts.email.accounts); }; - 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 - rec { - userName = "meinhark"; - address = "kieran.felix.meinhardt@hu-berlin.de"; - aliases = ["${userName}@hu-berlin.de"]; - passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhark.path}"; - }); - hu-student-cs = - lib.recursiveUpdate defaults - (lib.recursiveUpdate hu-defaults - rec { - userName = "meinhark"; - address = "kieran.felix.meinhardt@informatik.hu-berlin.de"; - aliases = ["${userName}@informatik.hu-berlin.de"]; - imap.host = "mailbox.informatik.hu-berlin.de"; - smtp.host = "mailhost.informatik.hu-berlin.de"; - passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhark.path}"; - }); - hu-employee = - lib.recursiveUpdate defaults - (lib.recursiveUpdate hu-defaults - rec { - userName = "meinhaki"; - address = "kieran.meinhardt@hu-berlin.de"; - aliases = ["${userName}@hu-berlin.de"]; - passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhaki.path}"; - aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text); - signature = { - showSignature = "append"; - text = '' - ${defaults.realName} - Studentische Hilfskraft / Administrator ALEW - Humboldt-Universität zu Berlin - - Telefon: +49 (0)30 2093 9634 - Raum 3.212, Dorotheenstraße 24, 10117 Berlin-Mitte - https://alew.hu-berlin.de - ''; - }; - }); - hu-admin = - lib.recursiveUpdate defaults - (lib.recursiveUpdate hu-defaults - rec { - userName = "dslalewa"; - address = "admin.alew.vglsprwi@hu-berlin.de"; - aliases = ["${userName}@hu-berlin.de"]; - passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-dslalewa.path}"; - inherit (hu-employee) signature; - aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text); - }); - hu-fsi = - lib.recursiveUpdate defaults - (lib.recursiveUpdate hu-defaults - rec { - userName = "fsklassp"; - passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-fsklassp.path}"; - address = "${userName}@hu-berlin.de"; - realName = "FSI Klassische Philologie"; - aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text); - signature = { - showSignature = "append"; - text = '' - Fachschafts-Initiative - - Humboldt-Universität zu Berlin - Sprach- und literaturwissenschaftliche Fakultät - Institut für klassische Philologie - Unter den Linden 6 - 10099 Berlin - ''; - }; - }); - fysi = - lib.recursiveUpdate defaults - rec { - address = "kieran@fysi.tech"; - userName = address; - passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-fysi.path}"; - flavor = "fastmail.com"; - }; + accounts.email.accounts = { cock = lib.recursiveUpdate defaults rec { diff --git a/configs/default.nix b/configs/default.nix index 3fc94e1..d387da0 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -260,6 +260,7 @@ in { ./htop.nix ./hu-berlin.nix ./fu-berlin.nix + ./fysi.nix ./i3.nix ./i3status-rust.nix ./keyboard.nix diff --git a/configs/fu-berlin.nix b/configs/fu-berlin.nix index 67fc69a..f24a55d 100644 --- a/configs/fu-berlin.nix +++ b/configs/fu-berlin.nix @@ -1,9 +1,18 @@ { 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 = { @@ -15,6 +24,17 @@ in { }; }; }; + 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 = { diff --git a/configs/fysi.nix b/configs/fysi.nix new file mode 100644 index 0000000..b889bb4 --- /dev/null +++ b/configs/fysi.nix @@ -0,0 +1,55 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (import ../lib/email.nix) defaults; + sshIdentity = name: "${config.users.users.me.home}/.ssh/${name}"; +in { + age.secrets = { + email-password-fysi = { + file = ../secrets/email-password-fysi.age; + owner = config.users.users.me.name; + group = config.users.users.me.group; + mode = "400"; + }; + }; + + home-manager.users.me = { + accounts.email.accounts = { + fysi = + lib.recursiveUpdate defaults + rec { + address = "kieran@fysi.tech"; + userName = address; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-fysi.path}"; + flavor = "fastmail.com"; + }; + }; + + programs.ssh.matchBlocks = rec { + "nextcloud.fysi.dev" = { + hostname = "116.203.82.203"; + user = "root"; + }; + "lingua.miaengiadina.ch" = { + hostname = "135.181.85.233"; + user = "root"; + }; + "cms-dev.woc2023.app".identityFile = sshIdentity "fysiweb"; + "cms-master.woc2023.app".identityFile = sshIdentity "fysiweb"; + "fysi-dev1" = { + hostname = "94.130.229.139"; + user = "root"; + identityFile = sshIdentity "fysiweb"; + }; + ${fysi-dev1.hostname} = fysi-dev1; + "fysi-shared0" = { + hostname = "49.12.205.235"; + user = "root"; + identityFile = sshIdentity "fysiweb"; + }; + }; + }; +} diff --git a/configs/hu-berlin.nix b/configs/hu-berlin.nix index d93d83e..2a58d5d 100644 --- a/configs/hu-berlin.nix +++ b/configs/hu-berlin.nix @@ -4,6 +4,14 @@ lib, ... }: let + inherit (import ../lib/email.nix) defaults; + hu-defaults = { + imap.host = "mailbox.cms.hu-berlin.de"; + imap.port = 993; + smtp.host = "mailhost.cms.hu-berlin.de"; + smtp.port = 25; + smtp.tls.useStartTls = true; + }; hu-berlin-cifs-options = [ "uid=${toString config.users.users.me.uid}" "gid=${toString config.users.groups.users.gid}" @@ -28,20 +36,126 @@ in { options = hu-berlin-cifs-options; }; - age.secrets.cifs-credentials-hu-berlin.file = ../secrets/cifs-credentials-hu-berlin.age; + age.secrets = { + cifs-credentials-hu-berlin.file = ../secrets/cifs-credentials-hu-berlin.age; + email-password-meinhark = { + file = ../secrets/email-password-meinhark.age; + owner = config.users.users.me.name; + group = config.users.users.me.group; + mode = "400"; + }; + email-password-meinhaki = { + file = ../secrets/email-password-meinhaki.age; + owner = config.users.users.me.name; + group = config.users.users.me.group; + mode = "400"; + }; + email-password-dslalewa = { + file = ../secrets/email-password-dslalewa.age; + owner = config.users.users.me.name; + group = config.users.users.me.group; + mode = "400"; + }; + email-password-fsklassp = { + file = ../secrets/email-password-fsklassp.age; + owner = config.users.users.me.name; + group = config.users.users.me.group; + mode = "400"; + }; + }; - home-manager.users.me.programs.ssh = { - matchBlocks = { - "gruenau6.informatik.hu-berlin.de" = { - hostname = "gruenau6.informatik.hu-berlin.de"; - user = "meinhark"; - setEnv.TERM = "xterm"; - }; - "alew.hu-berlin.de" = { - user = "centos"; - hostname = "141.20.187.219"; + home-manager.users.me = { + programs.ssh = { + matchBlocks = { + "gruenau6.informatik.hu-berlin.de" = { + hostname = "gruenau6.informatik.hu-berlin.de"; + user = "meinhark"; + setEnv.TERM = "xterm"; + }; + "alew.hu-berlin.de" = { + user = "centos"; + hostname = "141.20.187.219"; + }; }; }; + + accounts.email.accounts = rec { + hu-student = + lib.recursiveUpdate defaults + (lib.recursiveUpdate hu-defaults + rec { + userName = "meinhark"; + address = "kieran.felix.meinhardt@hu-berlin.de"; + aliases = ["${userName}@hu-berlin.de"]; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhark.path}"; + }); + hu-student-cs = + lib.recursiveUpdate defaults + (lib.recursiveUpdate hu-defaults + rec { + userName = "meinhark"; + address = "kieran.felix.meinhardt@informatik.hu-berlin.de"; + aliases = ["${userName}@informatik.hu-berlin.de"]; + imap.host = "mailbox.informatik.hu-berlin.de"; + smtp.host = "mailhost.informatik.hu-berlin.de"; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhark.path}"; + }); + hu-employee = + lib.recursiveUpdate defaults + (lib.recursiveUpdate hu-defaults + rec { + userName = "meinhaki"; + address = "kieran.meinhardt@hu-berlin.de"; + aliases = ["${userName}@hu-berlin.de"]; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-meinhaki.path}"; + aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text); + signature = { + showSignature = "append"; + text = '' + ${defaults.realName} + Studentische Hilfskraft / Administrator ALEW + Humboldt-Universität zu Berlin + + Telefon: +49 (0)30 2093 9634 + Raum 3.212, Dorotheenstraße 24, 10117 Berlin-Mitte + https://alew.hu-berlin.de + ''; + }; + }); + hu-admin = + lib.recursiveUpdate defaults + (lib.recursiveUpdate hu-defaults + rec { + userName = "dslalewa"; + address = "admin.alew.vglsprwi@hu-berlin.de"; + aliases = ["${userName}@hu-berlin.de"]; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-dslalewa.path}"; + inherit (hu-employee) signature; + aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text); + }); + hu-fsi = + lib.recursiveUpdate defaults + (lib.recursiveUpdate hu-defaults + rec { + userName = "fsklassp"; + passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-fsklassp.path}"; + address = "${userName}@hu-berlin.de"; + realName = "FSI Klassische Philologie"; + aerc.extraAccounts.signature-file = toString (pkgs.writeText "signature" signature.text); + signature = { + showSignature = "append"; + text = '' + Fachschafts-Initiative + + Humboldt-Universität zu Berlin + Sprach- und literaturwissenschaftliche Fakultät + Institut für klassische Philologie + Unter den Linden 6 + 10099 Berlin + ''; + }; + }); + }; }; environment.systemPackages = [ diff --git a/configs/ssh.nix b/configs/ssh.nix index 5657cd0..a521f31 100644 --- a/configs/ssh.nix +++ b/configs/ssh.nix @@ -1,12 +1,6 @@ -{ - pkgs, - config, - lib, - ... -}: let +{pkgs, ...}: let inherit (import ../lib) sshPort kieran; externalNetwork = import ../lib/external-network.nix; - sshIdentity = name: "${config.users.users.me.home}/.ssh/${name}"; in { users.users.me.openssh.authorizedKeys.keys = kieran.sshKeys pkgs; @@ -40,7 +34,7 @@ in { home-manager.users.me.programs.ssh = { enable = true; - matchBlocks = rec { + matchBlocks = { "github.com" = { hostname = "ssh.github.com"; port = 443; @@ -80,27 +74,6 @@ in { user = "kfm"; port = sshPort; }; - "nextcloud.fysi.dev" = { - hostname = "116.203.82.203"; - user = "root"; - }; - "lingua.miaengiadina.ch" = { - hostname = "135.181.85.233"; - user = "root"; - }; - "cms-dev.woc2023.app".identityFile = sshIdentity "fysiweb"; - "cms-master.woc2023.app".identityFile = sshIdentity "fysiweb"; - "fysi-dev1" = { - hostname = "94.130.229.139"; - user = "root"; - identityFile = sshIdentity "fysiweb"; - }; - ${fysi-dev1.hostname} = fysi-dev1; - "fysi-shared0" = { - hostname = "49.12.205.235"; - user = "root"; - identityFile = sshIdentity "fysiweb"; - }; }; }; } diff --git a/lib/email.nix b/lib/email.nix index 960c84d..bd466cf 100644 --- a/lib/email.nix +++ b/lib/email.nix @@ -1,14 +1,7 @@ -{lib, ...}: { - cock = rec { - user = "2210@cock.li"; - address = user; - imap = "mail.cock.li"; - smtp = imap; - smtpSettings = smtp: "smtp://${smtp}:587"; - folders = { - drafts = "Drafts"; - sent = "Sent"; - trash = "Trash"; - }; +{ + defaults = { + aerc.enable = true; + realName = "Kierán Meinhardt"; + folders.inbox = "INBOX"; }; }