{...}: { config.flake.modules.homeManager.homey-alert = { lib, config, pkgs, ... }: { options.azos.homey-alert.enable = lib.mkOption { default = false; example = true; type = lib.types.bool; }; config = lib.mkIf config.azos.homey-alert.enable { home.packages = [ (pkgs.writeShellApplication { name = "homey-alert"; runtimeInputs = with pkgs; [curl pass]; text = '' usage() { cat <&2; usage >&2; exit 1 ;; *) break ;; esac done if [[ $# -gt 0 ]]; then MESSAGE="$*" elif [[ ! -t 0 ]]; then MESSAGE="$(cat)" else echo "homey-alert: no message provided" >&2 usage >&2 exit 1 fi TOKEN="$(pass zakobar-homecenter/ntfy-token)" HEADERS=( -H "Authorization: Bearer $TOKEN" -H "Priority: $PRIORITY" ) [[ -n "$TITLE" ]] && HEADERS+=(-H "Title: $TITLE") [[ -n "$TAGS" ]] && HEADERS+=(-H "Tags: $TAGS") curl -sf "''${HEADERS[@]}" \ -d "$MESSAGE" \ https://ntfy.zakobar.com/alerts ''; }) ]; }; }; }