diff --git a/modules/nixos/graphical/mail/default.nix b/modules/nixos/graphical/mail/default.nix index 4759de65..e41737b4 100644 --- a/modules/nixos/graphical/mail/default.nix +++ b/modules/nixos/graphical/mail/default.nix @@ -13,7 +13,7 @@ let ${pkgs.libnotify}/bin/notify-send -t 5000 'New ${name} mail arrived' "$unseen_count unseen mails" fi ''; - makeAccount = { name, address, host ? "", imapHost ? host, smtpHost ? host, useStartTls ? false, secretToolId, extraConfig ? { }, oauth ? false }: (lib.recursiveUpdate + makeAccount = { name, address, host ? "", imapHost ? host, smtpHost ? host, useStartTls ? false, secretToolId ? "", extraConfig ? { }, oauth ? false }: (lib.recursiveUpdate { inherit address; gpg = { @@ -45,7 +45,7 @@ let extraConfig = lib.mkIf oauth { auth = "xoauth2"; }; }; mu.enable = true; - passwordCommand = if oauth then "${pkgs.mfauth}/bin/mfauth access ${name}" else "${passwordScript} ${secretToolId}"; + passwordCommand = if oauth then "${pkgs.oauth2ms}/bin/oauth2ms" else "${passwordScript} ${secretToolId}"; realName = "Charlotte Van Petegem"; signature = { showSignature = "none"; @@ -213,7 +213,7 @@ in zfs.homeLinks = [ { path = "mail"; type = "data"; } { path = ".cache/mu"; type = "cache"; } - { path = ".cache/mfauth"; type = "cache"; } + { path = ".local/share/oauth2ms"; type = "cache"; } ]; }; }; @@ -249,6 +249,17 @@ in folders = { drafts = "Drafts"; inbox = "INBOX"; sent = "INBOX"; trash = "Trash"; }; }; }; + dodona = makeAccount { + name = "dodona"; + address = "charlotte.vanpetegem@dodona.be"; + imapHost = "outlook.office365.com"; + smtpHost = "smtp-mail.outlook.com"; + extraConfig = { + folders = { drafts = "Drafts"; inbox = "INBOX"; sent = "INBOX"; trash = "Deleted Items"; }; + }; + oauth = true; + useStartTls = true; + }; rodekruis-eerstehulp = makeAccount { name = "rodekruis-eerstehulp"; address = "eerstehulp@gent.rodekruis.be"; @@ -272,6 +283,7 @@ in }; }; }; + home.packages = [ pkgs.oauth2ms ]; programs = { mbsync.enable = true; msmtp.enable = true; @@ -314,5 +326,10 @@ in }; }; }; + age.secrets."files/programs/oauth2ms" = { + file = ../../../../secrets/files/programs/oauth2ms.age; + owner = "charlotte"; + path = "/home/charlotte/.config/oauth2ms/config.json"; + }; }; } diff --git a/secrets.nix b/secrets.nix index 9d91702d..9ac48998 100644 --- a/secrets.nix +++ b/secrets.nix @@ -43,6 +43,8 @@ in "secrets/files/programs/vpn/local.age".publicKeys = personals ++ users; "secrets/files/programs/vpn/global.age".publicKeys = personals ++ users; + "secrets/files/programs/oauth2ms.age".publicKeys = nixosPersonals ++ users; + "secrets/passwords/services/accentor.age".publicKeys = [ elendel ] ++ users; "secrets/passwords/services/entrance-exam.age".publicKeys = [ marabethia ] ++ users; diff --git a/secrets/files/programs/oauth2ms.age b/secrets/files/programs/oauth2ms.age new file mode 100644 index 00000000..ef50b96e --- /dev/null +++ b/secrets/files/programs/oauth2ms.age @@ -0,0 +1,11 @@ +age-encryption.org/v1 +-> ssh-ed25519 aUd9Ng fdV2UseozIVtcOME/lfJTdZ74CcRgzcTyapTNyMbYEQ +94MgHDTUkp0NElEsN6v5YNbitQBSto1/Do8oyvKr/r0 +-> ssh-ed25519 s9rb8g 5pY8e5UB7FgaSL/LKY5kqxQp0tGVfjCALiXdDDgOGxE +2PiiDQk73OLpsdHwFTVCc5Df6Soz3QVbTiiik6Lr6XQ +-> ssh-ed25519 +xxExQ ILoi0qC8liv+HID/1ClxP2fLmZjY4i5qb2LBk6jDTBk +akXCDWam1Rg5hfO3djEGnPsUrZi8xUJoRHpHqCFlkog +--- QE3m2INgFSMc0XY3ZEzAvhZjtH9TEYIyABdpI8Lrexw +Zru͌v;y]@:m2`Z6Qt8$;׮6^Qq‘v1FlNwk|L N>A:NeȚU}XhT`7X=So8T".ꙞuQZe7O~hs~IB; L:=eD2>gڳ5ݱ~fL](υwmH^ܨR2=Wt' ao+ t2aYK"Mv|.?fieᣝĂ-އ5*8B?ZG(& +u_ +K+[*rA œج֗!]0)nZx \ No newline at end of file