blob: 9e96462b8de1932e222d1317b0165b438af6aa68 (
plain)
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
{...}:
let
common = {
vdirsyncer = {
enable = true;
auth = "basic";
conflictResolution = "remote wins";
metadata = [
"displayname"
"description"
];
timeRange = {
# sync 1 year before and after now
start = "datetime.now() - timedelta(days=365)";
end = "datetime.now() + timedelta(days=365)";
};
};
};
in {
accounts.calendar.basePath = "Calendars";
accounts.calendar.accounts = {
"bensima_personal" = {
primaryCollection = "Unschedule";
remote = {
passwordCommand = ["pass" "cal.bensima.com"];
type = "caldav";
url = "https://cal.bensima.com";
userName = "ben";
};
vdirsyncer = {
inherit (common.vdirsyncer) metadata timeRange enable auth conflictResolution;
collections = [
"3e40534f-bfb9-b973-f615-f958a6361e95"
"066441A6-B48F-439B-9BD0-5D0FA8F4CB6F"
];
};
khal = {
enable = true;
addresses = ["ben@bensima.com" "ben@bsima.me"];
color = "#800080";
type = "discover";
};
};
"bensima_shared" = {
remote = {
passwordCommand = ["pass" "cal.bensima.com"];
type = "caldav";
url = "https://cal.bensima.com/shared/ben";
userName = "ben";
};
vdirsyncer = common.vdirsyncer;
khal = {
enable = true;
color = "#097969";
type = "calendar";
};
};
"icloud" = {
remote = {
passwordCommand = ["pass" "icloud.com/vdirsyncer"];
type = "caldav";
url = "https://caldav.icloud.com";
userName = "bsima@icloud.com";
};
vdirsyncer = {
inherit (common.vdirsyncer) metadata timeRange enable auth conflictResolution;
collections = [
"0962a74ab76a97543b485d2a583caa271042baab9d64437ae6c3bc8a50df1f08"
];
};
khal = {
enable = true;
color = "#FAA0A0";
type = "discover";
};
};
};
programs.khal = {
enable = true;
locale = {
# these need to match org-mode formats for khalel
weeknumbers = "left";
timeformat = "%H:%M";
dateformat = "%Y-%m-%d";
longdateformat = "%Y-%m-%d %a";
datetimeformat = "%Y-%m-%d %H:%M";
longdatetimeformat = "%Y-%m-%d %H:%M";
};
};
programs.vdirsyncer.enable = true;
services.vdirsyncer.enable = true;
}
|