imapmaildir is a mail client, that uses IMAP to pull the mail from your mail
server to your local maildir directory.
imapmaildir is inspired by
offlineIMAP and
mbsync. While these tools run periodically
for syncing mails, imapmaildir is intended to run as a background service and
listen to changes to local and remote mail. As such it is the ideal mail
receiving agent for mail clients like mutt
or aerc.
Caution
The project is still in early development and not ready for production use. There will be breaking changes without further notice.
The supported way of using imapmaildir is by using the home
manager module provided by this
repository's flake.
Example for usage in a flake based nixos config:
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
imapmaildir = {
url = "github:schnedo/imapmaildir";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { imapmaildir, nixpkgs, ... }: {
nixosConfigurations.mySystem = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
{
home-manager.sharedModules = [
imapmaildir.homeModules.imapmaildir
];
nix.settings = {
substituters = [
"https://schnedo.cachix.org"
];
trusted-public-keys = [
"schnedo.cachix.org-1:SOK0hFcugOr4sde3Rw8+DsbdMHbg/R358weVZMhosC4="
];
};
}
];
};
};
}Configure using the home-manager module:
{
accounts.email.accounts.<name>.imapmaildir = {
enable = true;
# List the mailboxes you want to sync. Currently, there is no autodiscover.
mailboxes = [ ];
# Optional service configuration.
# There are default values in place so you do not need to configure this.
service = {
# Name of the systemd service without '.service' suffix
name = "custom-service-name";
# Interval between syncs
intervalSec = 60;
# Custom service config as in https://home-manager-options.extranix.com/?query=systemd.user.services.%3Cname%3E&release=master
extraConfig = {};
};
};
}