1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00

feat: calcurse -> khal

This commit is contained in:
2021-04-07 20:10:48 +02:00
parent bd200b655d
commit 9af10ecf46
3 changed files with 80 additions and 45 deletions

View File

@@ -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 <secrets/mail/posteo>;
};
};
};
};
}

View File

@@ -199,7 +199,7 @@ in {
./bluetooth.nix
./ccc.nix
./kleiter.nix
./calcurse.nix
./khal.nix
./engiadina.nix
./chromium.nix
./cloud.nix

79
configs/khal.nix Normal file
View File

@@ -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 <secrets/nextcloud/password>;
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}"
'';
};
};
}