From 5a8678d2d3680bfa87b8786b68b13e63f35d3cdb Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Tue, 21 Apr 2026 01:23:48 +0100 Subject: feat(just): include etc in status & diff recipes - status now runs etc-drift alongside pkg-drift and dotfile-drift - diff routes /etc/* paths to etc-diff; with no arg, runs both chezmoi diff and etc-diff so drift in /etc is visible alongside $HOME dotfiles. --- justfile | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/justfile b/justfile index eac90ac..f97bfa1 100644 --- a/justfile +++ b/justfile @@ -41,8 +41,8 @@ fix: # Inspection # ═══════════════════════════════════════════════════════════════════ -# Show package and dotfile drift (runs pkg-drift + dotfile-drift) -status: pkg-drift dotfile-drift +# Show package and dotfile drift (runs pkg-drift + dotfile-drift + etc-drift) +status: pkg-drift dotfile-drift etc-drift # Show package drift: missing packages in adopted groups + undeclared installed packages pkg-drift: @@ -69,9 +69,20 @@ undeclared: echo "$active" | grep -qxF "$pkg" || echo "$pkg" done -# Show dotfile diffs; pass a path to limit to a single file (e.g. just diff .config/nvim/init.lua) +# Show dotfile + /etc diffs; pass a path to limit to a single file (e.g. just diff .config/nvim/init.lua) diff file="": - chezmoi diff -S . {{ file }} + #!/usr/bin/env bash + set -eo pipefail + f='{{ file }}' + case "$f" in + /etc/*|etc/*) + just etc-diff "$f" ;; + "") + chezmoi diff -S . + just etc-diff ;; + *) + chezmoi diff -S . "$f" ;; + esac # Resolve dotfile conflicts with a 3-way merge; pass a path for one file, or omit to merge all merge file="": -- cgit v1.2.3-70-g09d2