mbsync: add basic test of result configuration

This commit is contained in:
Robert Helgesson 2019-01-31 02:08:40 +01:00
parent 81ec856a0f
commit 0590c2a4f6
No known key found for this signature in database
GPG Key ID: 36BDAA14C2797E89
4 changed files with 92 additions and 1 deletions

View File

@ -176,7 +176,7 @@ in
++ accountsConfig
++ groupsConfig
++ optional (cfg.extraConfig != "") cfg.extraConfig
);
) + "\n";
home.activation.createMaildir =
dag.entryBetween [ "linkGeneration" ] [ "writeBoundary" ] ''

View File

@ -23,6 +23,7 @@ import nmt {
git-with-email = ./modules/programs/git-with-email.nix;
git-with-most-options = ./modules/programs/git.nix;
git-with-str-extra-config = ./modules/programs/git-with-str-extra-config.nix;
mbsync = ./modules/programs/mbsync.nix;
texlive-minimal = ./modules/programs/texlive-minimal.nix;
xresources = ./modules/xresources.nix;
} // pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {

View File

@ -0,0 +1,55 @@
# Generated by Home Manager.
IMAPAccount hm-account
CertificateFile /etc/ssl/certs/ca-certificates.crt
Host imap.example.org
PassCmd "password-command 2"
SSLType IMAPS
User home.manager.jr
IMAPStore hm-account-remote
Account hm-account
MaildirStore hm-account-local
Inbox /home/hm-user/Mail/hm-account/Inbox
Path /home/hm-user/Mail/hm-account/
SubFolders Verbatim
Channel hm-account
Create None
Expunge None
Master :hm-account-remote:
Patterns *
Remove None
Slave :hm-account-local:
SyncState *
IMAPAccount hm@example.com
CertificateFile /etc/ssl/certs/ca-certificates.crt
Host imap.example.com
PassCmd password-command
SSLType IMAPS
User home.manager
IMAPStore hm@example.com-remote
Account hm@example.com
MaildirStore hm@example.com-local
Inbox /home/hm-user/Mail/hm@example.com/Inbox
Path /home/hm-user/Mail/hm@example.com/
SubFolders Verbatim
Channel hm@example.com
Create None
Expunge None
Master :hm@example.com-remote:
Patterns *
Remove None
Slave :hm@example.com-local:
SyncState *
Group inboxes
Channel hm-account:Inbox
Channel hm@example.com:Inbox1,Inbox2

View File

@ -0,0 +1,35 @@
{ config, lib, pkgs, ... }:
with lib;
{
imports = [ ../accounts/email-test-accounts.nix ];
config = {
home.username = "hm-user";
home.homeDirectory = "/home/hm-user";
programs.mbsync = {
enable = true;
groups.inboxes = {
"hm@example.com" = [ "Inbox1" "Inbox2" ];
hm-account = [ "Inbox" ];
};
};
accounts.email.accounts = {
"hm@example.com".mbsync = {
enable = true;
};
hm-account.mbsync = {
enable = true;
};
};
nmt.script = ''
assertFileExists home-files/.mbsyncrc
assertFileContent home-files/.mbsyncrc ${./mbsync-expected.conf}
'';
};
}