diff options
author | Profpatsch <mail@profpatsch.de> | 2021-10-04 18:16:01 +0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2021-10-26 20:44:13 +0200 |
commit | c8045aa11f4d9a56f72955f1189dbea3f46deef7 (patch) | |
tree | 20e000b3cccbd179391c26bbb63bc99d28104d1d /pkgs/profpatsch/xdg-open/default.nix | |
parent | 6c53c759b156be978462c4b82d83952cc850a694 (diff) |
xdg-open: add ics files to the calendar & sync to webdav
Sync the calendar every 15 minutes with a user service, and add ics file support to xdg-open.
Diffstat (limited to 'pkgs/profpatsch/xdg-open/default.nix')
-rw-r--r-- | pkgs/profpatsch/xdg-open/default.nix | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/pkgs/profpatsch/xdg-open/default.nix b/pkgs/profpatsch/xdg-open/default.nix index 97418958..30ff275e 100644 --- a/pkgs/profpatsch/xdg-open/default.nix +++ b/pkgs/profpatsch/xdg-open/default.nix @@ -26,6 +26,7 @@ let // getBins pkgs.firefox [ "firefox" ] // getBins pkgs.lilyterm-git [ "lilyterm" ] // getBins pkgs.ranger [ "ranger" ] + // getBins pkgs.khal [ "khal" ] ; notify = msg: { @@ -54,7 +55,24 @@ let args = file: [ file ]; }; - + # TODO: interactive adding? Don’t want to add all ics files to my calendar + add-to-calendar = { + exe = writeExecline "add-to-calendar" { readNArgs = 1; } [ + "if" [ + bins.khal + "import" + "--batch" + # the private calendar is called calendar + "--include-calendar" "calendar" + "$1" + ] + "systemctl" "--user" + "start" + # defined as a user service (TODO: config variable?) + "calendar-sync" + ]; + args = file: [ file ]; + }; open-in-browser = { exe = bins.firefox; @@ -120,6 +138,7 @@ let , open-in-browser : Command , open-in-editor : Command , notify : Text -> Command + , add-to-calendar : Command } ) → Text @@ -150,6 +169,7 @@ let dmenu-list-binaries-and-exec exec-in-terminal-emulator notify + add-to-calendar ; }; |