This commit is contained in:
Till 2026-03-29 14:23:01 +02:00
parent d8032cc35d
commit e945735fa1
61 changed files with 344 additions and 550 deletions

View file

@ -0,0 +1,138 @@
{ config, pkgs, ... }:
let
myRemote = slug: {
passwordCommand = [ "pass" "accounts/ktiu-radicale" ];
userName = "ktiu";
type = "caldav";
url = "https://kalender.ktiu.net/ktiu/${slug}";
};
calDefaults = {
khal.type = "calendar";
local = {
type = "filesystem";
fileExt = ".ics";
};
vdirsyncer = {
enable = true;
conflictResolution = "local wins";
};
};
in
{
services.vdirsyncer.enable = true;
programs.vdirsyncer.enable = true;
programs.khal = {
enable = true;
locale = {
timeformat = "%H:%M";
dateformat = "%d %b";
longdateformat = "%d %b %Y";
datetimeformat = "%d %b %H:%M";
longdatetimeformat = "%d %b %Y %H:%M";
weeknumbers = "left";
};
settings = {
default = {
timedelta = "5d";
print_new = "event";
};
keybindings.external_edit = "ctrl e";
view = {
agenda_event_format = "{calendar-color}{cancelled}{start-end-time-style} {title}{repeat-symbol} {location} {url}{reset}";
event_format = "{calendar-color}{cancelled}{start}-{end} {title}{repeat-symbol} {location} {url}{reset}";
"blank_line_before_day" = true;
};
};
};
accounts.calendar.basePath = "${config.xdg.dataHome}/calendars";
accounts.calendar.accounts = {
till = calDefaults // {
khal.enable = true;
primary = true;
khal.color = "light blue";
remote = myRemote "personal";
};
mitlisa = calDefaults // {
khal.enable = true;
khal.color = "light magenta";
remote = myRemote "lisa-und-till";
};
family = calDefaults // {
khal.enable = true;
khal.color = "dark magenta";
remote = myRemote "family";
};
bdays = calDefaults // {
khal.enable = true;
khal.color = "yellow";
remote = myRemote "geburtstage";
};
polit = calDefaults // {
khal.enable = true;
khal.color = "dark gray";
remote = myRemote "polit";
};
ihg = calDefaults // {
khal.enable = true;
khal.color = "dark cyan";
remote = {
type = "http";
url = "https://geocom.uni-frankfurt.de/radicale/ihg/5012a739-dbaf-334b-f093-8db1860bc26e/";
};
};
"eintracht_m" = calDefaults // {
khal.enable = true;
khal.color = "light red";
remote = {
type = "http";
url = "http://i.cal.to/ical/257/eintrachtfrankfurt/spielplan/28ae0d30.f781380b-e6f28bd4.ics";
};
};
"eintracht_f" = calDefaults // {
khal.enable = true;
khal.color = "dark red";
remote = {
type = "http";
url = "http://i.cal.to/ical/5940/eintrachtfrankfurt/spielplan-frauen-profis/28ae0d30.f781380b-1763bff2.ics";
};
};
"feiertage" = calDefaults // {
khal.enable = true;
khal.color = "dark green";
remote = {
type = "http";
url = "https://ics.tools/Feiertage/hessen.ics";
};
};
"grid" = calDefaults // {
khal.enable = true;
khal.color = "light green";
remote = {
type = "caldav";
# url = "https://cloud.gridisnotajournal.de/remote.php/dav/calendars/till/grid/";
# passwordCommand = [ "pass" "uni/grid-caldav-nextcloud" ];
# userName = "till";
url = "https://kalender.humangeographie.de/grid/96dedda9-cc91-c2fe-3bd8-020296904489/";
userName = "grid";
passwordCommand = [ "pass" "uni/grid-kalender-radicale" ];
};
};
};
}