autoload colors; colors;
+short()
+{
+ print "$fg_bold[white]$1$reset_color $2"
+}
+
msg()
{
print "$fg_bold[white]$1$reset_color\n$2\n"
}
-msg "gc --{fixup,squash} :/commitmsg " "auto constructs a '{fixup,squash}!' commit message for the last commit matching 'commitmsg'"
-msg "git rebase --autosquash " "{fixup,squash} commits starting with {fixup,squash}!, must be --interactive"
+if (( $+commands[checkupdates] )); then
+ # checkupdate.service populates this db
+ pkg_count=$(CHECKUPDATES_DB=/tmp/checkup-db-0 checkupdates -n | grep -cv '\[.*\]')
+fi
+
+if (( $+commands[task] )); then
+ # this is moved after checkupdates above because it introduces enough of a delay
+ # for the terminal width calculation to have the right width stored
+ # see https://github.com/wez/wezterm/issues/5137
+ task rc.verbose:0 motd limit:5
+fi
+
+if (( ${pkg_count:-0} > 0 )); then
+ short "Outdated packages: $pkg_count"
+fi
+
+if (( $+commands[pacman] )); then
+ kercmp -q || short "linux" "$(kercmp)"
+fi
+
+if (( $+commands[systemctl] )); then
+ systemctl --system --no-pager list-units -q --failed
+ systemctl --user --no-pager list-units -q --failed
+fi
+
+# list sessions if possible
+tmux list-sessions 2>/dev/null || true