nixos-mailserver icon indicating copy to clipboard operation
nixos-mailserver copied to clipboard

[Project] Add caldav and carddav to SNM

Open r-raymond opened this issue 7 years ago • 5 comments
trafficstars

Questions:

  • As part of SNM or as downstream packages?

See also #72

r-raymond avatar Feb 22 '18 12:02 r-raymond

Personally I gravitate towards the simpler solution. I would keep additions like that as part of SNM at first, perhaps in say an "extras.nix" file to emphasize their supplemental nature. If need be they can still be factored out into an own nixos-mailserver-extras repository without losing anything.

phdoerfler avatar Feb 22 '18 16:02 phdoerfler

What about package choices?

For caldav we already have an implementation with radicale, so if there is no objection to using radicale I'm fine using that. As a bonus radicale can also do carddav.

r-raymond avatar Feb 23 '18 15:02 r-raymond

Here's my two cents on the subject: Since we don't offer choices for core parts of the mailserver, say postfix vs. exim, kresd vs. unbound, etc. and have had no issues with that so far, I fail to see the need to divert from that course for non-essential things such as caldav. Again if need be we can still make that more sophisticated, but I'd rather start simple and make things complex when required than adding (and paying for) the complexity from the very beginning.

To me it seems that Nixos caters especially well to refactoring in configurations since it allows for doing things in a more high level way. This gives leeway for changing things under the hood (e.g. what nameserver do we use). To give an example, this is why I chose to call the option localDnsResolver and not useKresd.

This does of course assume that the people who use NMS are welcoming this level of abstraction ("drive me to the airport") vs. a lower abstraction ("take the next right, then go left"). From the reactions I observed so far this seems to be true. Opinions?

phdoerfler avatar Feb 24 '18 00:02 phdoerfler

I agree. My question was more geared towards "what packages should we use" rather than "should we provide options" though.

r-raymond avatar Feb 25 '18 10:02 r-raymond

I think the options are:

The obvious advantages of Radicale are:

  • Python instead of PHP
  • only one with a NixOS module

Advantages of Baïkal:

  • fully standards-compliant (at least I think it is), however Radicale should work with all widely used clients

Disadvantages of DAViCal:

  • needs a database instead of just storing data as files

dotlambda avatar Feb 25 '18 10:02 dotlambda