87 lines
2.1 KiB
Nix
87 lines
2.1 KiB
Nix
{ den, ... }:
|
|
let
|
|
calendarAccount = den.lib.perUser (
|
|
{ host, user }:
|
|
{
|
|
homeManager =
|
|
{ config, ... }:
|
|
let
|
|
calendarsPath = "${config.xdg.dataHome}/calendars";
|
|
in
|
|
{
|
|
programs.pimsync.enable = true;
|
|
services.pimsync.enable = true;
|
|
|
|
programs.khal = {
|
|
# FIXME: Temporarily disabled because of bug in nixpkgs-unstable (27-02-26)
|
|
enable = false;
|
|
locale = {
|
|
timeformat = "%H:%M";
|
|
dateformat = "$m-$d";
|
|
};
|
|
};
|
|
|
|
programs.todoman = {
|
|
enable = true;
|
|
glob = "*/*";
|
|
extraConfig = ''
|
|
date_format = "%Y-%m-%d"
|
|
time_format = "%H:%M"
|
|
default_list = "personal"
|
|
default_due = 0
|
|
default_command = "list --sort priority,due"
|
|
humanize = True
|
|
'';
|
|
};
|
|
|
|
accounts.calendar = {
|
|
basePath = calendarsPath;
|
|
accounts = {
|
|
"radicale" = {
|
|
primary = true;
|
|
primaryCollection = "personal";
|
|
|
|
local = {
|
|
type = "filesystem";
|
|
fileExt = ".ics";
|
|
};
|
|
|
|
remote = {
|
|
url = "https://radicale.${host.serviceDomain}/";
|
|
type = "caldav";
|
|
userName = user.userName;
|
|
passwordCommand = [
|
|
"rbw"
|
|
"get"
|
|
"Radicale"
|
|
];
|
|
};
|
|
|
|
pimsync = {
|
|
enable = true;
|
|
extraPairDirectives = [
|
|
{
|
|
name = "collections";
|
|
params = [ "from b" ];
|
|
}
|
|
];
|
|
};
|
|
|
|
khal = {
|
|
enable = true;
|
|
type = "discover";
|
|
color = "light blue";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|
|
);
|
|
in
|
|
{
|
|
lux.pim = {
|
|
includes = [ calendarAccount ];
|
|
};
|
|
}
|