1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8let
9 cfg = config.programs.kde-pim;
10in
11{
12 options.programs.kde-pim = {
13 enable = lib.mkEnableOption "KDE PIM base packages";
14 kmail = lib.mkEnableOption "KMail";
15 kontact = lib.mkEnableOption "Kontact";
16 merkuro = lib.mkEnableOption "Merkuro";
17 };
18
19 config = lib.mkIf cfg.enable {
20 environment.systemPackages =
21 with pkgs.kdePackages;
22 [
23 # core packages
24 akonadi
25 kdepim-runtime
26 ]
27 ++ lib.optionals cfg.kmail [
28 akonadiconsole
29 akonadi-search
30 kmail
31 kmail-account-wizard
32 ]
33 ++ lib.optionals cfg.kontact [
34 kontact
35 ]
36 ++ lib.optionals cfg.merkuro (
37 [
38 merkuro
39 ]
40 # Only needed when using the Merkuro Contacts widget in Plasma.
41 ++ lib.optionals config.services.desktopManager.plasma6.enable [
42 kcontacts
43 ]
44 );
45 };
46}