Move email account options to their owning modules

This removes the long list of submodules from

    modules/accounts/email.nix

and instead move each entry to its owning module.
This commit is contained in:
Robert Helgesson 2020-06-16 00:45:20 +02:00
parent ad4f33cfc4
commit bf7297d55c
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
11 changed files with 131 additions and 98 deletions

View file

@ -374,19 +374,7 @@ in {
};
accounts = mkOption {
type = types.attrsOf (types.submodule ([
mailAccountOpts
(import ../programs/alot-accounts.nix pkgs)
(import ../programs/astroid-accounts.nix)
(import ../programs/getmail-accounts.nix)
(import ../programs/lieer-accounts.nix)
(import ../programs/mbsync-accounts.nix)
(import ../programs/msmtp-accounts.nix)
(import ../programs/neomutt-accounts.nix)
(import ../programs/notmuch-accounts.nix)
(import ../programs/offlineimap-accounts.nix)
] ++ optionals pkgs.stdenv.hostPlatform.isLinux
[ (import ../services/lieer-accounts.nix) ]));
type = types.attrsOf (types.submodule mailAccountOpts);
default = { };
description = "List of email accounts.";
};

View file

@ -114,7 +114,8 @@ let
'';
in {
options.programs.alot = {
options = {
programs.alot = {
enable = mkOption {
type = types.bool;
default = false;
@ -217,6 +218,11 @@ in {
};
};
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./alot-accounts.nix pkgs));
};
};
config = mkIf cfg.enable {
home.packages = [ pkgs.alot ];

View file

@ -98,6 +98,10 @@ in {
'';
};
};
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./astroid-accounts.nix));
};
};
config = mkIf cfg.enable {

View file

@ -49,6 +49,12 @@ let
".getmail/getmail${if a.primary then "rc" else a.name}";
in {
options = {
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./getmail-accounts.nix));
};
};
config = mkIf getmailEnabled {
home.file = foldl' (a: b: a // b) { }
(map (a: { "${renderConfigFilepath a}".text = renderAccountConfig a; })

View file

@ -43,6 +43,10 @@ in {
options = {
programs.lieer.enable =
mkEnableOption "lieer Gmail synchronization for notmuch";
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./lieer-accounts.nix));
};
};
config = mkIf cfg.enable (mkMerge [

View file

@ -122,6 +122,10 @@ in {
'';
};
};
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./mbsync-accounts.nix));
};
};
config = mkIf cfg.enable {

View file

@ -56,6 +56,10 @@ in {
'';
};
};
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./msmtp-accounts.nix));
};
};
config = mkIf cfg.enable {

View file

@ -262,6 +262,10 @@ in {
description = "Extra configuration appended to the end.";
};
};
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./neomutt-accounts.nix));
};
};
config = mkIf cfg.enable {

View file

@ -143,6 +143,10 @@ in {
};
};
};
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./notmuch-accounts.nix));
};
};
config = mkIf cfg.enable {

View file

@ -147,6 +147,11 @@ in {
'';
};
};
accounts.email.accounts = mkOption {
type = with types;
attrsOf (submodule (import ./offlineimap-accounts.nix));
};
};
config = mkIf cfg.enable {

View file

@ -52,6 +52,10 @@ in {
options = {
services.lieer.enable =
mkEnableOption "lieer Gmail synchronization service";
accounts.email.accounts = mkOption {
type = with types; attrsOf (submodule (import ./lieer-accounts.nix));
};
};
config = mkIf cfg.enable {