diff --git a/configs/calcurse.nix b/configs/calcurse.nix deleted file mode 100644 index 87509ca..0000000 --- a/configs/calcurse.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ pkgs, lib, ... }: -{ - environment.systemPackages = [ pkgs.calcurse ]; - - systemd.services.caldav-sync = { - enable = true; - wants = [ "network-online.target" ]; - startAt = "*:0/15"; - serviceConfig.User = "kfm"; - script = "${pkgs.calcurse}/bin/calcurse-caldav"; - }; - - home-manager.users.me = { - home.file = { - ".calcurse/conf".text = '' - appearance.calendarview=monthly - appearance.layout=1 - daemon.enable=no - daemon.log=no - format.inputdate=4 - format.outputdate=%F - general.confirmquit=no - general.confirmdelete=yes - general.firstdayofweek=monday - appearance.theme=default on default - ''; - ".calcurse/caldav/config".text = lib.generators.toINI {} { - General = { - Binary = "${pkgs.calcurse}/bin/calcurse"; - Hostname = "posteo.de:8443"; - Path = "/calendars/kieran.meinhardt/default/"; - InsecureSSL = "No"; - DryRun = "No"; - Verbose = "Yes"; - }; - Auth = { - Username = "kieran.meinhardt@posteo.net"; - Password = lib.strings.fileContents ; - }; - }; - }; - }; - -} diff --git a/configs/default.nix b/configs/default.nix index f026efe..96c383c 100644 --- a/configs/default.nix +++ b/configs/default.nix @@ -199,7 +199,7 @@ in { ./bluetooth.nix ./ccc.nix ./kleiter.nix - ./calcurse.nix + ./khal.nix ./engiadina.nix ./chromium.nix ./cloud.nix diff --git a/configs/khal.nix b/configs/khal.nix new file mode 100644 index 0000000..69288b6 --- /dev/null +++ b/configs/khal.nix @@ -0,0 +1,79 @@ +{ config, pkgs, lib, ... }: +let + davHome = "~/.local/share/dav"; + davEndpoint = "https://cloud.xn--kiern-0qa.de/remote.php/dav"; + username = "kieran"; + password = lib.fileContents ; +in +{ + environment.systemPackages = [ pkgs.khal pkgs.vdirsyncer ]; + + home-manager.users.me = { + xdg.configFile = { + "khal/config".text = '' + [calendars] + + [[kalender_local]] + path = ${davHome}/calendar/* + color = 27 + type = discover + + [[kontakte_local]] + path = ${davHome}/contacts/contacts/ + color = 11 + type = birthdays + + [default] + highlight_event_days = True + timedelta = 5d + + [locale] + timeformat = %H:%M + dateformat = %Y-%m-%d + longdateformat = %Y-%m-%d + datetimeformat = %Y-%m-%d %H:%M + longdatetimeformat = %Y-%m-%d %H:%M + local_timezone = ${config.time.timeZone} + default_timezone = ${config.time.timeZone} + weeknumbers = left + ''; + + "vdirsyncer/config".text = '' + [general] + status_path = "~/.local/share/vdirsyncer/status/" + + [pair kontakte] + a = "kontakte_local" + b = "kontakte_cloud" + collections = ["from a", "from b"] + + [storage kontakte_local] + type = "filesystem" + path = "${davHome}/contacts/" + fileext = ".vcf" + + [storage kontakte_cloud] + type = "carddav" + url = "${davEndpoint}/addressbooks/users/${username}/contacts/" + username = "${username}" + password = "${password}" + + [pair kalender] + a = "kalender_local" + b = "kalender_cloud" + collections = ["from a", "from b"] + + [storage kalender_local] + type = "filesystem" + path = "${davHome}/calendar/" + fileext = ".ics" + + [storage kalender_cloud] + type = "caldav" + url = "${davEndpoint}/calendars/${username}/personal/" + username = "${username}" + password = "${password}" + ''; + }; + }; +}