aboutsummaryrefslogtreecommitdiff
path: root/home-manager/modules/programs/neomutt.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/modules/programs/neomutt.nix')
-rw-r--r--home-manager/modules/programs/neomutt.nix36
1 files changed, 23 insertions, 13 deletions
diff --git a/home-manager/modules/programs/neomutt.nix b/home-manager/modules/programs/neomutt.nix
index 85af0353b6c..f2a6bbfff08 100644
--- a/home-manager/modules/programs/neomutt.nix
+++ b/home-manager/modules/programs/neomutt.nix
@@ -38,6 +38,19 @@ let
};
};
+ sortOptions = [
+ "date"
+ "date-received"
+ "from"
+ "mailbox-order"
+ "score"
+ "size"
+ "spam"
+ "subject"
+ "threads"
+ "to"
+ ];
+
bindModule = types.submodule {
options = {
map = mkOption {
@@ -98,7 +111,9 @@ let
} else
let
smtpProto = if smtp.tls.enable then "smtps" else "smtp";
- smtpBaseUrl = "${smtpProto}://${escape userName}@${smtp.host}";
+ smtpPort = if smtp.port != null then ":${toString smtp.port}" else "";
+ smtpBaseUrl =
+ "${smtpProto}://${escape userName}@${smtp.host}${smtpPort}";
in {
smtp_url = "'${smtpBaseUrl}'";
smtp_pass = "'`${passCmd}`'";
@@ -211,18 +226,9 @@ in {
};
sort = mkOption {
- type = types.enum [
- "date"
- "date-received"
- "from"
- "mailbox-order"
- "score"
- "size"
- "spam"
- "subject"
- "threads"
- "to"
- ];
+ # allow users to choose any option from sortOptions, or any option prefixed with "reverse-"
+ type = types.enum
+ (sortOptions ++ (map (option: "reverse-" + option) sortOptions));
default = "threads";
description = "Sorting method on messages.";
};
@@ -258,6 +264,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 {