aboutsummaryrefslogtreecommitdiffstats
path: root/home/dav/default.nix
blob: 956ea7195e05104c3807560d685a57f2a185cb3b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
{ pkgs, config, ... }:
{
  accounts.calendar = {
    basePath = "Calendar"; # Relative to home directory; automatically becomes ~/Calendar
    accounts.radicale = {
      primary = true;
      primaryCollection = null; # Set to a specific collection name if needed (e.g., "calendar") when multiple exist
      remote = {
        type = "caldav";
        url = "https://dav.tammi.cc/petri.hienonen%40protonmail.com/2f799b52-3895-85b0-c2ec-dcd7e86f7073/";
        userName = "petri.hienonen@protonmail.com";
        passwordCommand = [
          "${pkgs.coreutils}/bin/cat"
          "${config.age.secrets.radicale.path}"
        ];
      };
      local = {
        type = "filesystem";
        fileExt = ".ics";
      };
      pimsync = {
        enable = true;
      };
      khal = {
        enable = true;
        type = "discover"; # "discover" for multiple collections (treats local path as directory of calendars); use "calendar" for single
      };
    };
  };
  accounts.contact = {
    basePath = "Contacts"; # Relative to home directory; automatically becomes ~/Contacts
    accounts.radicale = {
      remote = {
        type = "carddav";
        url = "https://dav.tammi.cc/petri.hienonen%40protonmail.com/9fa208e5-d89a-dda5-bb59-f71f726b7866/";
        userName = "petri.hienonen@protonmail.com";
        passwordCommand = [
          "${pkgs.coreutils}/bin/cat"
          "${config.age.secrets.radicale.path}"
        ];
      };
      local = {
        type = "filesystem";
        fileExt = ".vcf";
      };
      pimsync = {
        enable = true;
      };
      khard = {
        enable = true;
      };
    };
  };
  programs.khal.enable = true;
  programs.khard.enable = true;
  programs.todoman.enable = true; # For tasks (VTODO); uses the calendar basePath to discover task lists
  programs.pimsync = {
    enable = true;
    settings = [
      {
        name = "status_path";
        params = [ "${config.xdg.dataHome}/pimsync/status" ];
      }
    ];
  };

  services.pimsync = {
    enable = true;
    verbosity = "info";
  };
}