From 47258a63170ee93c2993b1e66d4cf40ca84ff6a8 Mon Sep 17 00:00:00 2001 From: hermes-bot Date: Wed, 22 Jul 2026 14:26:03 -0300 Subject: [PATCH] fix: generate valid YAML in client.yml The previous >- block scalar indentation was wrong, causing ntfy to fail with 'yaml: line 7: could not find expected :'. Switched to inline command strings which produce clean, parsable YAML. --- modules/home-manager/ntfy-notify/default.nix | 23 ++++++-------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/modules/home-manager/ntfy-notify/default.nix b/modules/home-manager/ntfy-notify/default.nix index 645a2f0..c76b83a 100644 --- a/modules/home-manager/ntfy-notify/default.nix +++ b/modules/home-manager/ntfy-notify/default.nix @@ -1,5 +1,3 @@ -Warning: Identity file /home/jpporta/.ssh/id_rsa not accessible: No such file or directory. -Warning: Identity file /home/jpporta/.ssh/id_rsa not accessible: No such file or directory. { config, lib, @@ -8,15 +6,6 @@ Warning: Identity file /home/jpporta/.ssh/id_rsa not accessible: No such file or }: let cfg = config.custom.ntfy-notify; - - # Escape the whole command string for the YAML config. Since ntfy reads this - # from client.yml directly (not from systemd), we pass notify-send arguments - # as a shell command string — ntfy will spawn a shell to run it. - mkSubscription = topic: priority: - lib.generators.toYaml { } [{ - topic = "${cfg.server}/${topic}"; - command = ''notify-send -a "Kanban" -u "${priority}" "Kanban Update" "''${m}"''; - }]; in { options.custom.ntfy-notify = { @@ -58,17 +47,19 @@ in config = lib.mkIf cfg.enable { home.packages = [ pkgs.ntfy-sh ]; - # Client config with subscription → notify-send mappings. - # ntfy subscribe (without args) reads subscriptions from here. + # Client config with subscription → notify-send command mappings. + # ntfy subscribe (without args) reads subscriptions from client.yml. xdg.configFile."ntfy/client.yml" = { text = '' # Generated by ndots ntfy-notify module. - # Each incoming message spawns a notify-send → your notification daemon. + # Each message spawns notify-send → your notification daemon. subscribe: '' + lib.concatMapStringsSep "\n" (sub: + let + cmd = "notify-send -a Kanban -u ${sub.priority} \"Kanban Update\" \"$m\""; + in " - topic: ${cfg.server}/${sub.topic}\n" - + " command: >-\n" - + '' notify-send -a "Kanban" -u "${sub.priority}" "Kanban Update" "$m"'' + + " command: ${cmd}" ) cfg.subscriptions; };