From 8d9eb8fa8a20efa4c4318fccef97d21fe91fb092 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Mon, 22 Dec 2025 13:31:18 -0500 Subject: Switch to kitty terminal with ef-dream theme, emoji support - Replace urxvt with kitty as default terminal - Add ef-dream inspired color scheme to kitty - Configure emoji font fallback with Noto Color Emoji - Update xmonad.hs to use kitty for terminal and scratchpads - Fix cmdtree to fetch from GitHub instead of broken git://jb55.com - Remove urxvt.nix and alacritty config - Add AGENTS.md for agentic coding tools --- pkgs/vdirsyncer-patch.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 pkgs/vdirsyncer-patch.nix (limited to 'pkgs/vdirsyncer-patch.nix') diff --git a/pkgs/vdirsyncer-patch.nix b/pkgs/vdirsyncer-patch.nix new file mode 100644 index 0000000..9265e21 --- /dev/null +++ b/pkgs/vdirsyncer-patch.nix @@ -0,0 +1,28 @@ +# Patch vdirsyncer to skip NotFoundError on missing items instead of failing. +# This works around a Google CalDAV bug where recurring events with modified +# instances are listed but cannot be fetched. +# See: https://github.com/pimutils/vdirsyncer/issues/467 +{ lib, vdirsyncer }: + +vdirsyncer.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or []) ++ [ + (builtins.toFile "skip-notfound.patch" '' +--- a/vdirsyncer/storage/dav.py ++++ b/vdirsyncer/storage/dav.py +@@ -550,8 +550,11 @@ class DAVStorage(Storage): + else: + rv.append((href, Item(raw), etag)) + for href in hrefs_left: +- raise exceptions.NotFoundError(href) +- ++ dav_logger.warning( ++ f"Skipping {href!r}, server listed but did not return it. " ++ "This is often caused by corrupted recurring events in Google Calendar." ++ ) ++ + for href, item, etag in rv: + yield href, item, etag + +'') + ]; +}) -- cgit v1.2.3