From a848468d09fa4d33aa88c78a7cf6cdf7bd9249fa Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Thu, 15 Jan 2026 12:52:49 -0800 Subject: [PATCH] Fix shared-org-file-p to handle nil shared-org-dir in container The org-schedule advice calls imalison:shared-org-file-p which uses file-truename on imalison:shared-org-dir. When this var is nil (as in the container), it causes 'Wrong type argument: arrayp, nil' error. Override the function after loading tangled config to check for nil first. --- nixos/org-agenda-api.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/org-agenda-api.nix b/nixos/org-agenda-api.nix index 19d6bba4..9424442c 100644 --- a/nixos/org-agenda-api.nix +++ b/nixos/org-agenda-api.nix @@ -67,6 +67,15 @@ let "No-op stub for org-bullets-mode (package not available in container)." nil) +;; Override shared-org-file-p to handle nil imalison:shared-org-dir +;; The original calls (file-truename imalison:shared-org-dir) which errors when nil +(defun imalison:shared-org-file-p () + "Check if current file is in the shared org directory. +Returns nil if imalison:shared-org-dir is not set." + (and imalison:shared-org-dir + (string-prefix-p (file-truename imalison:shared-org-dir) + (file-truename default-directory)))) + ;; Helper functions used by org-agenda-custom-commands ;; These are defined in README.org but needed for custom views (defun imalison:compare-int-list (a b)