1 # Evolution Data Server daemon.
3 { config, lib, pkgs, ... }:
8 maintainers = lib.teams.gnome.members;
15 services.gnome.evolution-data-server = {
16 enable = lib.mkEnableOption "Evolution Data Server, a collection of services for storing addressbooks and calendars";
17 plugins = lib.mkOption {
18 type = lib.types.listOf lib.types.package;
20 description = "Plugins for Evolution Data Server.";
23 programs.evolution = {
24 enable = lib.mkEnableOption "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality";
25 plugins = lib.mkOption {
26 type = lib.types.listOf lib.types.package;
28 example = lib.literalExpression "[ pkgs.evolution-ews ]";
29 description = "Plugins for Evolution.";
39 bundle = pkgs.evolutionWithPlugins.override { inherit (config.services.gnome.evolution-data-server) plugins; };
42 (lib.mkIf config.services.gnome.evolution-data-server.enable {
43 environment.systemPackages = [ bundle ];
45 services.dbus.packages = [ bundle ];
47 systemd.packages = [ bundle ];
49 (lib.mkIf config.programs.evolution.enable {
50 services.gnome.evolution-data-server = {
52 plugins = [ pkgs.evolution ] ++ config.programs.evolution.plugins;
54 services.gnome.gnome-keyring.enable = true;