add email accounts in config

This commit is contained in:
ulic-youthlic 2025-04-29 01:13:44 +08:00
parent d5adaf015c
commit 90a4384db5
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
5 changed files with 131 additions and 56 deletions

View file

@ -7,15 +7,18 @@
}: {
youthlic = {
xdg-dirs.enable = true;
programs = {
programs = let
email = config.accounts.email.accounts.ulic-youthlic;
inherit (email) address name;
signKey = email.gpg.key;
in {
firefox.enable = true;
fuzzel.enable = true;
helix.enable = true;
gpg.enable = true;
git = {
email = "ulic.youthlic@gmail.com";
name = "ulic-youthlic";
signKey = "C6FCBD7F49E1CBBABD6661F7FC02063F04331A95";
inherit name signKey;
email = address;
encrypt-credential = true;
};
zed-editor.enable = true;
@ -23,9 +26,8 @@
bash.enable = true;
jujutsu = {
enable = true;
email = "ulic.youthlic@gmail.com";
name = "ulic-youthlic";
signKey = "C6FCBD7F49E1CBBABD6661F7FC02063F04331A95";
inherit name signKey;
email = address;
};
ghostty.enable = true;
starship.enable = true;
@ -34,12 +36,14 @@
atuin.enable = true;
obs.enable = true;
chromium.enable = true;
thunderbird.enable = true;
# espanso.enable = true;
};
};
david = {
wallpaper.enable = true;
accounts.email.enable = true;
programs = {
openssh.enable = true;
niri.enable = true;

View file

@ -8,7 +8,11 @@
}: {
youthlic = {
xdg-dirs.enable = true;
programs = {
programs = let
email = config.accounts.email.accounts.ulic-youthlic;
inherit (email) name address;
signKey = email.gpg.key;
in {
zed-editor.enable = true;
rustypaste-cli.enable = true;
firefox.enable = true;
@ -17,14 +21,12 @@
gpg.enable = true;
jujutsu = {
enable = true;
email = "ulic.youthlic@gmail.com";
name = "ulic-youthlic";
signKey = "C6FCBD7F49E1CBBABD6661F7FC02063F04331A95";
inherit name signKey;
email = address;
};
git = {
email = "ulic.youthlic@gmail.com";
name = "ulic-youthlic";
signKey = "C6FCBD7F49E1CBBABD6661F7FC02063F04331A95";
inherit name signKey;
email = address;
encrypt-credential = true;
};
fish.enable = true;
@ -45,6 +47,7 @@
david = {
wallpaper.enable = true;
accounts.email.enable = true;
programs = {
niri.enable = true;
openssh.enable = true;

View file

@ -2,6 +2,7 @@
imports = [
./wallpaper.nix
./programs
./emails.nix
];
config = {
services.mpris-proxy.enable = true;

View file

@ -0,0 +1,67 @@
{
config,
lib,
...
}: let
cfg = config.david.accounts.email;
in {
options = {
david.accounts.email = {
enable = lib.mkEnableOption "emails";
};
};
config = lib.mkIf cfg.enable {
accounts.email.accounts = {
"ulic-youthlic" = {
address = "ulic.youthlic@gmail.com";
aliases = [
"ulic.youthlic+nixpkgs@gmail.com"
];
flavor = "gmail.com";
gpg = {
signByDefault = true;
key = "C6FCBD7F49E1CBBABD6661F7FC02063F04331A95";
};
primary = true;
thunderbird = {
enable = true;
};
realName = "youthlic";
};
"youthlic146" = {
address = "youthlic146@gmail.com";
flavor = "gmail.com";
thunderbird = {
enable = true;
};
realName = "youthlic";
};
"moqixianli" = {
address = "moqixianli@gmail.com";
flavor = "gmail.com";
thunderbird = {
enable = true;
};
realName = "youthlic";
};
"youthlic" = {
address = "youthlic@outlook.com";
flavor = "outlook.office365.com";
thunderbird = {
enable = true;
settings = id: {
"mail.server.server_${id}.type" = "imap";
"mail.smtpserver.smtp_${id}.authMethod" = 10; # 10 for OAuth2
"mail.server.server_${id}.authMethod" = 10;
"mail.server.server_${id}.socketType" = 3; # 3 for SSL/TLS
};
};
realName = "youthlic";
imap = {
host = "outlook.office365.com";
tls.enable = true;
};
};
};
};
}