]> git.rmz.io Git - dotfiles.git/blobdiff - zsh/lib/motd.zsh
lazyvim: absorb treesitter plugins
[dotfiles.git] / zsh / lib / motd.zsh
index 43e81521350ddff557f80f5cf79f4daefbbc99e5..04dd32c571bea2d42a6d11ff9f9685d2b79e3891 100644 (file)
@@ -1,9 +1,39 @@
 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