shellcheck / shellcheck (push) Failing after 15s
30's fix-up commit now also adds clang and cmake, without which voxtype no longer builds from source (later commits install them), and stops ca658dc's bitwarden.sh failing on its unset LINE under the set -u that install-kickstart-nvim.sh leaves on. The fingerprint recorded only the line numbers of .bashrc's coredesktop lines, so 0c0ddf5's showed a line moved without saying what was added. Record the whole file, sorted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
84 lines
2.3 KiB
Bash
Executable File
84 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Purpose : Describe this CoreDesktop machine as text, so two machines can be
|
|
# compared with diff (see README.md). Runs in the smoketest VM.
|
|
#
|
|
# Only what CoreDesktop decides goes in: names, not versions, and no times, so
|
|
# a fresh install and an updated older install of the same commit match.
|
|
|
|
COREDESKTOP="$HOME/.local/share/coredesktop"
|
|
|
|
section() {
|
|
printf '\n## %s\n' "$1"
|
|
}
|
|
|
|
section "Explicitly installed packages"
|
|
pacman -Qqe
|
|
|
|
section "Packages not from the repos (AUR)"
|
|
pacman -Qqm
|
|
|
|
section "Flatpaks"
|
|
flatpak list --app --columns=application | sort
|
|
|
|
section "pipx apps"
|
|
pipx list --short 2> /dev/null | cut -d' ' -f1 | sort
|
|
|
|
section "Enabled system units"
|
|
systemctl list-unit-files --state=enabled --no-legend | awk '{print $1}' | sort
|
|
|
|
section "Enabled user units"
|
|
systemctl --user list-unit-files --state=enabled --no-legend | awk '{print $1}' | sort
|
|
|
|
section "Groups"
|
|
id -nG | tr ' ' '\n' | sort
|
|
|
|
section "Firewall"
|
|
sudo ufw status verbose
|
|
|
|
section "pacman repos"
|
|
grep -E '^\[' /etc/pacman.conf
|
|
|
|
section "SSH server"
|
|
sudo sshd -T 2> /dev/null | sort
|
|
|
|
section "CoreDesktop's files in /etc"
|
|
sudo find /etc -path '*coredesktop*' -type f -print0 | sort -z | sudo xargs -0r sha256sum
|
|
|
|
section "Snapper"
|
|
if [ -f /etc/snapper/configs/root ]; then
|
|
sudo snapper -c root get-config | sort
|
|
else
|
|
echo "no root config"
|
|
fi
|
|
|
|
section "Migrations run"
|
|
ls ~/.local/state/coredesktop/migrations 2> /dev/null
|
|
|
|
section "Commands in ~/.local/bin"
|
|
for cmd in update refresh sibling version configure audit; do
|
|
if cmp -s "$HOME/.local/bin/$cmd" "$COREDESKTOP/$cmd"; then
|
|
echo "$cmd: current"
|
|
else
|
|
echo "$cmd: missing or out of date"
|
|
fi
|
|
done
|
|
|
|
section "Shell"
|
|
# All of ~/.bashrc, sorted: an updated machine adds lines in another order
|
|
sort ~/.bashrc
|
|
|
|
section "GNOME extensions"
|
|
gsettings get org.gnome.shell enabled-extensions
|
|
ls ~/.local/share/gnome-shell/extensions 2> /dev/null
|
|
|
|
# The value of each key gnome-settings.dconf sets, which apply-gnome-settings.sh
|
|
# loads under /org/gnome/shell/extensions/
|
|
section "GNOME settings"
|
|
awk '/^\[/ { dir = substr($0, 2, length($0) - 2); next }
|
|
/=/ { print dir "/" substr($0, 1, index($0, "=") - 1) }' \
|
|
"$COREDESKTOP/gnome/gnome-settings.dconf" \
|
|
| while read -r key; do
|
|
echo "$key = $(dconf read "/org/gnome/shell/extensions/$key")"
|
|
done
|