Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

imapmaildir

maintenance-status

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.

Usage

The supported way of using imapmaildir is by using the home manager module provided by this repository's flake.

Installation

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="
                        ];
                    };
                }
            ];
        };
    };
}

Configuration

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 = {};
        };
    };
}

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages