nixpkgs/home/programs/vdirsyncer.nix
Daniel Siepmann cc3fcb3d50
Add vdirsync and khal with small notification script
Very basic, but maybe better then all the shiny none working solutions.
Will sync all calendars to vdir.
khal is able to parse and show them. khal also offers an cli interface
to fetch events for a certain time.

Properly use keepass xc via secret tool as command line tool
Enable keepassxc usage as secret tool.
Remove crypted file as this no longer keeps passwords

Remove korganizer as it doesn't provide notifications, try khal
2022-10-06 09:27:38 +02:00

58 lines
2.1 KiB
Nix

{ pkgs, config }:
{
enable = true;
frequency = "Mon..Thu *-*-* 15,12,8:00";
configuration = ''
[general]
status_path = "${config.xdg.dataHome}/vdirsyncer/status/"
[pair private_calendar]
a = "private_calendar_local"
b = "private_calendar_remote"
collections = ["from a", "from b"]
[storage private_calendar_local]
type = "filesystem"
path = "${config.xdg.dataHome}/vdir/calendars/private/"
fileext = ".ics"
[storage private_calendar_remote]
type = "caldav"
url = "https://nextcloud.daniel-siepmann.de/remote.php/dav"
username = "dsiepmann"
password.fetch = ["command", "${pkgs.libsecret}/bin/secret-tool", "lookup", "account", "app-dsiepmann@nextcloud.daniel-siepmann.de"]
start_date = "datetime.now() - timedelta(days=60)"
end_date = "datetime.now() + timedelta(days=365)"
[pair company_calendar]
a = "company_calendar_local"
b = "company_calendar_remote"
collections = ["from a", "from b"]
[storage company_calendar_local]
type = "filesystem"
path = "${config.xdg.dataHome}/vdir/calendars/company/"
fileext = ".ics"
[storage company_calendar_remote]
type = "caldav"
url = "https://nextcloud.codappix.com/remote.php/dav"
username = "daniel.siepmann"
password.fetch = ["command", "${pkgs.libsecret}/bin/secret-tool", "lookup", "account", "app-dsiepmann@nextcloud.codapix.com"]
start_date = "datetime.now() - timedelta(days=60)"
end_date = "datetime.now() + timedelta(days=365)"
[pair sac_team]
a = "sac_team_calendar_private"
b = "sac_team_calendar_public"
collections = null
[storage sac_team_calendar_private]
type = "caldav"
url = "https://nextcloud.codappix.com/remote.php/dav/calendars/daniel.siepmann/sac-scrum-team-synced/"
username = "daniel.siepmann"
password.fetch = ["command", "${pkgs.libsecret}/bin/secret-tool", "lookup", "account", "app-dsiepmann@nextcloud.codapix.com"]
[storage sac_team_calendar_public]
type = "http"
url = "https://calendar.google.com/calendar/ical/0ks410dho8f5ohcik361i4c2bs%40group.calendar.google.com/public/basic.ics"
'';
}