refactor
This commit is contained in:
1 parent
81e576a877
commit
cde67e4d75
46 files changed
+619
-518
No files matched your search
@@ -5,6 +5,7 @@
|
||||
let
|
||||
facts = config.facts;
|
||||
account = facts.account;
|
||||
homeModules = config.flake.modules.homeManager;
|
||||
in
|
||||
{
|
||||
flake.modules.homeManager.email =
|
||||
@@ -17,12 +18,11 @@ in
|
||||
mkOffice365Account =
|
||||
{
|
||||
address,
|
||||
primary ? false,
|
||||
...
|
||||
}:
|
||||
{
|
||||
enable = true;
|
||||
inherit address primary;
|
||||
inherit address;
|
||||
realName = account.realName;
|
||||
userName = address;
|
||||
thunderbird = {
|
||||
@@ -37,12 +37,11 @@ in
|
||||
mkMxrouteAccount =
|
||||
{
|
||||
address,
|
||||
primary ? false,
|
||||
...
|
||||
}:
|
||||
{
|
||||
enable = true;
|
||||
inherit address primary;
|
||||
inherit address;
|
||||
realName = account.realName;
|
||||
userName = address;
|
||||
thunderbird.enable = true;
|
||||
@@ -60,13 +59,11 @@ in
|
||||
};
|
||||
};
|
||||
mkEmailAccount =
|
||||
email:
|
||||
if email.type == "office365" then
|
||||
mkOffice365Account email
|
||||
else if email.type == "mxrouting" then
|
||||
mkMxrouteAccount email
|
||||
else
|
||||
throw "Unsupported email type `${email.type}` for ${config.home.username}";
|
||||
name: email:
|
||||
(if email.type == "office365" then mkOffice365Account email else mkMxrouteAccount email)
|
||||
// {
|
||||
primary = name == account.primaryEmail;
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.thunderbird = {
|
||||
@@ -87,7 +84,7 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
accounts.email.accounts = lib.mapAttrs (_: mkEmailAccount) account.emails;
|
||||
accounts.email.accounts = lib.mapAttrs mkEmailAccount account.emails;
|
||||
};
|
||||
|
||||
flake.modules.homeManager.calendar-tasks =
|
||||
@@ -100,6 +97,8 @@ in
|
||||
calendarsPath = "${config.xdg.dataHome}/calendars";
|
||||
in
|
||||
{
|
||||
imports = [ homeModules.sops ];
|
||||
|
||||
programs.pimsync.enable = true;
|
||||
services.pimsync.enable = true;
|
||||
|
||||
@@ -138,7 +137,7 @@ in
|
||||
};
|
||||
|
||||
remote = {
|
||||
url = facts.services.radicale.url;
|
||||
url = "${facts.services.radicale.origin}/";
|
||||
type = "caldav";
|
||||
userName = config.home.username;
|
||||
passwordCommand = [
|
||||
|
||||
Reference in new issue
Block a user