#!/bin/env nu use cntfy.nu # Checks for package updates def main [ --ntfy: bool ] { if is-admin == false { let span = (metadata main).span; err make { msg: "This script needs to be run as root" label: { text: "Run as root" start: $label.start end: $label.end } } } let updates = ( checkupdates | split row "\n" ) let update_count = ( $updates | length ) if $update_count > 0 { echo $"($update_count) package[s] need to be updated" if $ntfy { mut update_msg = ""; if $update_count > 20 { $update_msg = ( $updates | first 19 | append $"... And ($update_count - 19) more" | str join "\n" ) } else { $update_msg = ( $updates | str join "\n" ) } cntfy main publish --title $"($update_count) package[s] need to be updated" updates $update_msg } } }