From adb08fb062130cf81bef2b976bec83a8f8cd9b22 Mon Sep 17 00:00:00 2001 From: Jake Ginesin Date: Sat, 28 Feb 2026 02:31:30 -0500 Subject: [PATCH] generation 580 25.11.20250714.62e0f05 --- home/scripts/nix-diff.sh | 26 ++++++++++++++++++++++++++ home/scripts/ptop.sh | 1 + 2 files changed, 27 insertions(+) create mode 100644 home/scripts/nix-diff.sh create mode 100644 home/scripts/ptop.sh diff --git a/home/scripts/nix-diff.sh b/home/scripts/nix-diff.sh new file mode 100644 index 0000000..b39aaa7 --- /dev/null +++ b/home/scripts/nix-diff.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# shows what changed between the current and previous NixOS generation + +PROFILE="/nix/var/nix/profiles/system" + +# current generation number from the profile symlink (e.g. system-185-link) +current_gen=$(readlink "$PROFILE" | grep -oP '\d+') +prev_gen=$((current_gen - 1)) + +current=$(readlink -f "${PROFILE}-${current_gen}-link") +previous=$(readlink -f "${PROFILE}-${prev_gen}-link") + +if [ ! -e "${PROFILE}-${prev_gen}-link" ]; then + echo "Previous generation ($prev_gen) not found (garbage collected?)." + exit 1 +fi + +echo -e "\033[1mGen $prev_gen:\033[0m $previous" +echo -e "\033[1mGen $current_gen:\033[0m $current" +echo + +if command -v nvd &>/dev/null; then + nvd diff "$previous" "$current" +else + nix store diff-closures "$previous" "$current" +fi diff --git a/home/scripts/ptop.sh b/home/scripts/ptop.sh new file mode 100644 index 0000000..6829ed4 --- /dev/null +++ b/home/scripts/ptop.sh @@ -0,0 +1 @@ +ps -eo pid=,%cpu=,comm= --sort=-%cpu | awk '$3 != "ps"' | head -n 5 | while read p c n; do printf "\n\033[1;31m[ %s%% CPU ]\033[0m \033[1m%s\033[0m (PID: %s)\n" "$c" "$n" "$p"; pstree -g 3 -w -p "$p" | sed -E 's#/nix/store/[a-z0-9]{32}-##g; s#/etc/profiles/per-user/synchronous/bin/##g; s#/run/current-system/systemd/lib/##g' | cut -c 1-$COLUMNS; done