1
0
mirror of https://github.com/nix-community/home-manager synced 2024-08-21 19:46:30 +02:00
Commit Graph

16 Commits

Author SHA1 Message Date
Karl Hallsby
f9d8aa6b25 mbsync: write function to generate channel configuration blocks
This function takes in a set of groups, which includes their
consituent channels and writes the appropriate .mbsyncrc block for the
channel. The block that is generated is shown below:
      Channel groupName1-channelName1
      Master :<accountName>-remote:<master-pattern>
      Slave :<accountName>-local:<slave-pattern>

      Channel groupName2-channelName2
      Master :<accountName>-remote:<master-pattern>
      Slave :<accountName>-local:<slave-pattern>

Each group must have a unique name, no matter which account it is
declared under. The same holds true for channels.

Using channels with the patterns set up this way allows one to specify
which maildir directories are to be synchronized FROM the master TO
the slave. In addition, it allows for these maildirs to be remapped,
between the master server and the local slave.
This is critical, because Gmail has a strange way of storing its mail
that makes using mbsync, mu, and mu4e more difficult.

There are additional channel parameters that are already present in
this codebase from the previous use of group-channel configuration,
which will be reused.
2020-06-26 20:22:45 +02:00
Karl Hallsby
e469020cb0 mbsync: write function to generate group-channel blocks
This function takes in a set of groups, and their consituent
channels and writes the appropriate .mbsyncrc block. The block is as
shown below:

      Group groupName1
      Channel channelName1
      Channel channelName2

      Group groupName2
      Channel channelName3

Each group must have a unique name, no matter which account it is
declared under. The same holds true for channels. However, if there is
a group that shares the same name as the channel, the channel will
effectively be "shadowed" by the group, and mbsync will default to
working with the group in that case.
2020-06-26 20:22:38 +02:00
Robert Helgesson
bf7297d55c
Move email account options to their owning modules
This removes the long list of submodules from

    modules/accounts/email.nix

and instead move each entry to its owning module.
2020-06-16 00:45:20 +02:00
Robert Helgesson
45abf3d38a
Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
Robert Helgesson
6e4b9af080
Switch to extended Nixpkg's lib
This change makes use of the `extend` function inside `lib` to inject
a new `hm` field containing the Home Manager library functions. This
simplifies use of the Home Manager library in the modules and reduces
the risk of accidental infinite recursion.

PR #994
2020-01-21 20:47:04 +01:00
Robert Helgesson
621c98f15a
mbsync: skip maildir creation if no account is defined
Fixes #937
2019-12-08 21:46:30 +01:00
Robert Helgesson
55b71223d4
Fix option defaultText when referencing packages
By using `literalExample` the documentation will show the option
default without surrounding quotes.
2019-08-28 00:14:22 +02:00
paumr
3743e8995a
mbsync: fix use of certificatesFile
The `tls.certificatesFile` option may be set to a path but the
`CertificateFile` attribute should be a string.
2019-08-08 00:50:52 +02:00
Robert Helgesson
c3520bfa52
mbsync: put extra config at the beginning
If it is at the end it will just end up applying to the last defined
section.

Fixes #748
2019-07-05 22:16:15 +02:00
Robert Helgesson
0590c2a4f6
mbsync: add basic test of result configuration 2019-01-31 02:08:40 +01:00
Nadrieril
81ec856a0f
mbsync: add some required assertions 2019-01-31 01:41:12 +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
Robert Helgesson
eecebbf186
notmuch: add module
Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:44:53 +02:00
Robert Helgesson
8dc1737e39
mbsync: add module
Co-authored-by: Matthieu Coudron <mattator@gmail.com>
2018-07-01 18:44:53 +02:00