Commit graph

12 commits

Author SHA1 Message Date
Karl Hallsby 941c4771ca mbsync: remove unneeded extraConfig.channel
This was originally placed here, seemingly, just to get this module
working. However, this field is actually more confusing now that a
separate per-channel configuration option for extra configurations has
been made available.
2020-06-27 02:23:30 +02:00
Karl Hallsby fb3c246fe0 mbsync: add extraConfig option for easier-to-format options
These are options that can be handled by the `genSection` function in
the `genAccountFunction`, so they are left to the user to decide.
Most of these are made on a global basis anyways.
2020-06-27 02:21:24 +02:00
Karl Hallsby c62cb82e65 mbsync: per-account groups can have additional patterns
Gave the
`accounts.email.accounts.<name>.mbsync.groups.<gname>.channel.<cname>`
set a `patterns` option, which will allow for greater customization
and filtering of the master maildir to sync to the slave maildir.
2020-06-27 02:18:50 +02:00
Karl Hallsby 97a6961db2 mbsync: provide examples of master/slave patterns for channels 2020-06-26 20:41:25 +02:00
Karl Hallsby c072526cfa mbsync: set the submodule's names field according to parameter
This is the same method as is used in creating an email account, named
`<name>` under `accounts.email.accounts.<name>`. This allows the user
to specify groups and channels, in a list-like format, but still gets
the "namespacing" to more easily handle the options available in each
of these locations.
2020-06-26 20:41:23 +02:00
Karl Hallsby 00e4a33cd1 mbsync: create groups configuration attribute
This is the end of the configuration that the end-user will use.

They will specify an attribute set that contains the name for the
group, so they can say
`accounts.email.accounts.<aname>.groups.<gname>` to access the
configuration for the group with the name `<gname>`.
2020-06-26 13:43:41 +02:00
Karl Hallsby 8bee65350b mbsync: option for configuring a group
A group is a grouping of channels together, so that many channels with
very different names can be handled as a single entity.

Groups are unique in mbsync because they will shadow channels that
have the same name on the command-line.
2020-06-26 13:42:51 +02:00
Karl Hallsby d6dcf9f106 mbsync: option for configuring a channel
A channel is a relationship between 2 directories/boxes/mailboxes
between the local machine (slave) and the remote mail server (master).
Each channel must be given at least:
     * an account-unique name
     * a pattern for which mailboxes to sync from master
     * a pattern for what directory where that mail ends up on the
     slave

Additional options can be added later.
2020-06-26 13:36:15 +02:00
Robert Helgesson 45abf3d38a
Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
Will Dietz 5770dc58b9 mbsync: add option to add extra account configuration 2018-10-03 13:35:04 -05:00
Matthieu Coudron 151f29a17a
mbsync: add options extraConfig.{channel|local|remote}
To allow supporting more advanced configurations. The local refers to
the "maildir store" configuration, remote to the "IMAP store", and
"channel" to the channel.
2018-09-23 23:22:39 +02:00
Robert Helgesson 4b32f16747
Use submodules for program email accounts
This reworks the way program specific email account options are
specified. In particular, we no longer use the deprecated `options`
field of `mkOption`. Instead submodules are used.
2018-08-16 21:37:42 +02:00